Update kotlin_version to v1.9.25 #27

Open
renovate wants to merge 1 commits from renovate/kotlin_version into dev
Owner

This PR contains the following updates:

Package Type Update Change
org.jetbrains.kotlin:kotlin-stdlib-jdk7 (source) dependencies minor 1.3.50 -> 1.9.25
org.jetbrains.kotlin:kotlin-gradle-plugin (source) dependencies minor 1.3.50 -> 1.9.25

⚠️ Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk7)

v1.9.25: Kotlin 1.9.25

Note: This is a technical release for IntelliJ IDEA.
Changelog
Tools. JPS
  • KT-69204 Generate lookups in dumb mode for compatibility with ref index

v1.9.24: 1.9.24

Changelog
Backend. Wasm
  • KT-64890 K/Wasm compiler crash with external class and Kodein
Compiler
  • KT-65235 JDK 21 might lead to change in overloads resolution
  • KT-66768 K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call
Native
  • KT-67218 Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary
Tools. Gradle
  • KT-67139 Build reports can be overridden
  • KT-67138 Json report is empty for incremental compilation
Tools. Gradle. Multiplatform
  • KT-67127 KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines
  • KT-66514 Don't get output file from Cinterop task for IDE Import if host os doesn't support it
Tools. JPS
  • KT-65043 JPS dumb mode should respect maps needed for the compiler
Tools. Wasm
  • KT-67785 Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore
  • KT-65864 K/Wasm: update Node.js to 22.x

v1.9.23: Kotlin 1.9.23

1.9.23
Apple Ecosystem
  • KT-65542 Cinterop tasks fails if Xcode 15.3 is used
Backend. Wasm
  • KT-64486 Kotlin/Wasm/WASI exported function callback for coroutines support
Compiler
  • KT-53478 Could not load module
  • KT-66044 JDK's new API is used over Kotlin's SDK functions
  • KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
  • KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
  • KT-65634 K/N: data race during monolithic cache creation
  • KT-53109 CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas
  • KT-52757 Type inference for builders fails if inferred from a function
Tools. Gradle
  • KT-65792 Add JSON build report
  • KT-65091 Update compiler metrics in build reports
  • KT-62490 KGP dropping resource directories
Tools. Gradle. JS
  • KT-64119 K/JS: Migrate package manager from Yarn onto NPM
  • KT-64561 K/JS tests are not executed after upgrade to 1.9.22
Tools. Gradle. Multiplatform
  • KT-65954 commonTest dependencies affect commoMainMetadata compilation
Tools. Gradle. Native
  • KT-64573 Default value for produceUnpackedKlib was not provided

v1.9.22: Kotlin 1.9.22

Changelog
JavaScript
  • KT-63719 KJS: Test results ignored for ES module kind
  • KT-63808 compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
  • KT-64139 Weird bug with while and coroutine in Kotlin Native
  • KT-63471 linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
  • KT-63789 Native: Incremental compilation problem with compose
Tools. CLI
  • KT-64485 CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
  • KT-63990 "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
  • KT-63363 Kotlin Gradle Plugin: KotlinNativeHostSpecificMetadataArtifact breaks configuration cache, implicitly includes output file as configuration cache input
  • KT-63742 Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
  • KT-64305 Kotlin JPS builder requests chunk rebuild with graph implementation
  • KT-64112 Avoid using IJ's JPS mappings in Kotlin JPS tests
  • KT-63799 Make plugin classpath serialization path agnostic
Checksums
File Sha256
kotlin-compiler-1.9.22.zip 88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6
kotlin-native-linux-x86_64-1.9.22.tar.gz c2b0a6481ced5401db4a7028661c039b7466996efaa554bbcc6a3d421ac5e7d4
kotlin-native-macos-x86_64-1.9.22.tar.gz 4646c9bc289d48a228064f565f3a968dde3dcccd7821f403717c708f6ffa8285
kotlin-native-macos-aarch64-1.9.22.tar.gz 8a95c0e0eb46b41b6d02a1942dc7dfe8c70082a2a26679490a77cd486f0ec8dd
kotlin-native-windows-x86_64-1.9.22.zip a9d7bcf38a41a84002ba7a733b08e97b554225a39656d5158fc31dc6d0acede4

v1.9.21: Kotlin 1.9.21

Changelog
Compiler
  • KT-62885 Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
  • KT-63081 Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
  • KT-55619 Document String.format function
IDE. Gradle Integration
  • KT-62877 Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
  • KT-60813 Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-63207 KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20
  • KT-62778 package.json "main" field has .js extension when the result files have .mjs extension
  • KT-61795 KJS: Incremental Cache is not invalidated if useEsClasses compiler argument was changed
  • KT-61957 KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with @JsExport and Enum.entries call
  • KT-62444 KJS with commonJS modules should re-export in 1.9.20
  • KT-63184 KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
  • KT-62190 KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
  • KT-58685 KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
  • KT-62515 Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
  • KT-63139 Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
  • KT-63499 Gradle: Source sets conventions are still registered
Tools. Gradle. JS
  • KT-59523 MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
  • KT-63366 Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
  • KT-32608 Create JUnit-XML result file in multiplatform gradle build
  • KT-63315 Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
  • KT-63338 [KMP] metadata task fails to find cinterop classes from dependency projects
  • KT-63044 KGP: Multiplatform - 8.4 configuration cache support
  • KT-63011 Apple Framework Artifacts is not connected to KotlinNativeTask
  • KT-62601 AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
Tools. Incremental Compile
  • KT-61590 K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
  • KT-63594 ClassCastException in JPS statistics
  • KT-63651 Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
  • KT-57389 KAPT3 uses a Javac API for JCImport which will break in JDK 21
  • KT-60507 Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
  • KT-54819 Scripts: Not able to use slf4j in .main.kts
  • KT-61727 Scripts: Maven artifacts resolution is slow
Checksums
File Sha256
kotlin-compiler-1.9.21.zip cf17e0272bc065d49e64a86953b73af06065370629f090d5b7c2fe353ccf9c1a
kotlin-native-linux-x86_64-1.9.21.tar.gz 965564bb599a95283307be31947386b61f0de79514e894b1f20f4fe728eee7cc
kotlin-native-macos-x86_64-1.9.21.tar.gz 8f47cf1871bf0dfcacfc04e68ee71f2333a8a711ca25fd7a29e852eafe8da76e
kotlin-native-macos-aarch64-1.9.21.tar.gz b3c45aa0a5aa08419bd79b06cb5bdeed32b30141a6a976b67ca91bb0959e28b7
kotlin-native-windows-x86_64-1.9.21.zip e917e67d5dfeb4683a413b932f080adef08ba48d8ede61fbb040f9c3481f7b3a

v1.9.20: Kotlin 1.9.20

1.9.20
Analysis. API
New Features
  • KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
  • KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
  • KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
  • KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
  • KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
  • KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
  • KT-58499 K2: FirLazyBlock should be calculated before accessing
  • KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
  • KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
  • KT-60940 K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
  • KT-60488 Analysis API: forbid providing custom KtLifetimeToken for every analyze call
  • KT-60728 K2: proper support for scripts in LL FIR transformers
  • KT-59159 K2 IDE: declaration is not found exception
  • KT-59297 K2: exception from body resolve leads to corrupted state and broken analysis
  • KT-59077 KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
  • KT-60586 K2: forbid analyze from write action
  • KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
  • KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
  • KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
  • KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
  • KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
  • KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
  • KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
  • KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-54846 Analysis API: add isExpect/isActual to KtSymbol
  • KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
  • KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
  • KT-59687 K2: Implement proper body update for in-block modifications
  • KT-59329 Resolve Extensions reference resolution breaks Find Usages
  • KT-60295 K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
  • KT-59758 K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
  • KT-60377 K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
  • KT-59685 K2: rewrite on-air resolution
  • KT-60132 K2: properties and functions without a name should be re-analyzable as well
  • KT-59199 K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
  • KT-59667 Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
  • KT-59705 KotlinExceptionWithAttachments: No fir element was found for getter
  • KT-59697 AA standalone: JRT module paths are not properly populated in Windows
  • KT-59505 K2: implicit type lazy resolution doesn't work for delegated declaration from other module
  • KT-56426 K2 IDE: Typealised functional types cannot be rendered
  • KT-59598 AA: stackoverflow while simplifying a type with a recursive type parameter
  • KT-58497 K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
  • KT-59511 AA standalone mode creates Application Environment for tests
  • KT-58161 Analysis API: Make methods in KtCallResolverMixIn more distinctive based on their receiver/return type
  • KT-59093 Do not throw exception on KtCall resolution, KtCallElement.resolveCall should return null on unknown cases
  • KT-59243 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from permits types
  • KT-58194 K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
  • KT-59133 K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
  • KT-58174 K2: LL FIR: Invalid type reference for T & Any type
  • KT-52615 LL FIR: build RAW FIR only by stubs
  • KT-55053 K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
  • KT-58580 K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
  • KT-58992 Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
  • KT-58727 K2: AA FIR: implicit type in delegated function treated as error
  • KT-58653 K2: Analysis API: add functions for KtScope members access by name
  • KT-57559 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
  • KT-58262 Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
  • KT-57455 LL FIR: Combine AbstractFirDeserializedSymbolProviders in session dependencies (optimization)
  • KT-57207 LL FIR: Combine JavaSymbolProviders in session dependencies (optimization)
  • KT-58546 K2: LL FIR: support name collision in a designation path
  • KT-58495 K2: Lazy calculation is redundant
  • KT-58500 K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
  • KT-58493 K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
  • KT-58496 K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found
  • KT-58491 K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
  • KT-56550 LL FIR: implement parallel resolve for non-jumping phases
  • KT-58503 Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve
  • KT-57623 K2 IDE: ConcurrentModificationException from getSuperConeTypes
  • KT-58083 K2: LL FIR: implement FakeOverrideTypeCalculator
Android
  • KT-27170 Android lint tasks fails in Gradle with MPP dependency
Backend. Native. Debug
  • KT-61131 Virtual functions trampolines have invalid debug info
Backend. Wasm
Fixes
  • KT-60244 K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification
  • KT-61262 K/Wasm: add a way to turn on k2 in wasm examples that don't use compose
  • KT-61343 K/Wasm: add a wasi example to kotlin-wasm-examples
  • KT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend error
  • KT-59720 K/Wasm: update to final opcodes
  • KT-60834 K/Wasm: investigate consequences of stopping using br_on_cast_fail
  • KT-59294 WASM: localStorage Cannot read properties of undefined (reading 'length')
  • KT-60835 K/Wasm: fix compatibility with Node.js 20.*
  • KT-60113 K/Wasm: illegal cast when using 1.9.20-dev
  • KT-60496 Compose-web Wasm crashes on remember { null } calls
  • KT-58746 K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)
  • KT-58993 [K/Wasm] Fix w3c declarations with lambda parameters
  • KT-59722 K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructions
  • KT-59713 K/Wasm: Implement enumEntries intrinsic
  • KT-59082 WASM: NullPointerException caused by companion with String type constants
  • KT-58941 WASM Hang with extension delegate inside a Class
  • KT-60200 K/Wasm: generate types without supertypes properly
  • KT-52178 IR dump doesn't seem to work for Kotlin/WASM phases
  • KT-59556 Wasm: critical dependency when using with webpack
  • KT-58681 K/Wasm: division remainder has a wrong sign
  • KT-56711 Wasm: IllegalStateException caused by dynamic type
Compiler
New Features
  • KT-58551 KMP: check all annotation from expect declaration are present on actual
  • KT-58554 KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning
  • KT-58545 KMP: prohibit implicit actualization via Java
  • KT-58536 KMP: prohibit expect tailrec / expect external
  • KT-59764 Make a frontend checker that reports cast to forward declaration as unchecked
  • KT-60528 Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin
  • KT-59558 Add support for creating annotation instances with type parameters
  • KT-52367 Devirtualization algorithm improvement
  • KT-58652 Native: Implement frontend checkers for HiddenFromObjC on classes
Performance Improvements
  • KT-59600 K2: CFG: do not add edges to nested classes and functions
  • KT-57860 K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing
Fixes
  • KT-60387 K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"
  • KT-61228 False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final properties
  • KT-61643 "Argument type mismatch" for mixed Java/Kotlin Project with Java 21
  • KT-62389 JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies
  • KT-56768 K2. No error description on incomplete try catch declaration
  • KT-52220 FIR + LightTree - Consider building a single tree on parsing into LightTree
  • KT-60601 K2 / Maven: Overload resolution ambiguity between candidates inline method
  • KT-62027 "java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation @AllowDifferentMembersInActual used
  • KT-62747 Wrong warning message when overriding vararg with Array during actualization
  • KT-62655 Don't report a warning when new members and new supertypes are added to open expect actualization
  • KT-62313 Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
  • KT-60902 visibility vs upper bound expect actual matching conflict
  • KT-61095 K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker
  • KT-47567 'Val cannot be reassigned' error not reported in unreachable code
  • KT-59468 K2: build realm-kotlin
  • KT-62026 KMP: Correctly handle a case when annotation on expect declaration is unresolved
  • KT-59476 K2: build ClashForAndroid
  • KT-59487 K2: build KSP-playground
  • KT-47409 K1/K2: Investigate and align inference for equality (==) operator
  • KT-59393 K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED
  • KT-62127 "NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule
  • KT-62335 Improve debuggability of code generator crashes
  • KT-61165 More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowed
  • KT-62263 Turn "different expect/actual members" error into a warning
  • KT-59969 K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL
  • KT-61616 K2: IrBuiltIns.extensionToString fails during native compilation
  • KT-59377 K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM
  • KT-61645 K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation
  • KT-61924 Native: problem with abstract fake override from Any
  • KT-61933 K2: "Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected"
  • KT-59471 K2: build multiplatform-settings
  • KT-56077 K2: build kotlinx.atomicfu
  • KT-59465 K2: build kotlinx-datetime
  • KT-60824 K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one element
  • KT-61856 K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.List
  • KT-54792 Store program order of properties inside @kotlin.Metadata
  • KT-56083 K2: build ktor
  • KT-23861 Expect annotation should not be applicable wider than the actual one
  • KT-59466 K2: build kotlinx-benchmark
  • KT-60830 KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotations
  • KT-61668 Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version
  • KT-61725 KMP: Annotation matching requirement for expect/actual leads to errors for annotations with @OptionalExpectation
  • KT-47892 False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP with continue in init block inside for
  • KT-61784 KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functions
  • KT-61173 K2: FirProperty.hasBackingField is true for an expect val
  • KT-59743 K2: erroneous binding of typealias with two type parameters to a class with one type parameter
  • KT-60650 KMP: prohibit problematic actual typealiases
  • KT-61461 K2: Kotlin native metadata compilation breaks when stdlib is present in -libraries
  • KT-61270 Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS app
  • KT-58229 K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameter
  • KT-47702 Support call of Java annotation constructor without specifying a default value
  • KT-56460 K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitor
  • KT-55933 K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is vararg
  • KT-59548 FIR2IR: inconsistent generation of dispatch receiver for object methods
  • KT-55072 K2: False positive "suspension point is inside a critical section"
  • KT-58778 JVM IR inline: add fake variables for debugger
  • KT-59404 K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE
  • KT-59830 K2. False negative [FINAL_SUPERTYPE] on extending final class through type alias
  • KT-60580 K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType
  • KT-59391 K2: Missing JS_BUILTIN_NAME_CLASH
  • KT-59392 K2: Missing NAME_CONTAINS_ILLEGAL_CHARS
  • KT-58360 Intrinsics for atomic update of array elements
  • KT-59165 K2: Prohibit class literals with empty left-hand side
  • KT-60427 K2 @Metadata annotations contain outerType/outerTypeId information for non-inner nested classes
  • KT-59376 K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
  • KT-55221 K2: No error reported for self-referencing local function with inferred return type
  • KT-59586 K2: support JVM backend diagnostics in light tree mode
  • KT-57780 K2: Calling a constructor through a deprecated typealias doesn't report a deprecation
  • KT-59110 K2. "NotImplementedError: An operation is not implemented." error on incorrect @Target annotation
  • KT-59249 K2: Empty varargs are not serialized to KLIB
  • KT-55373 K2. Unresolved reference error for type mismatch with callable references
  • KT-55955 K2: callable references are not properly resolved when in conflict with expected type
  • KT-60144 JVM IR inline: backport primitive boxing in class literals
  • KT-60779 K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER
  • KT-60587 K2: Implement warning NO_REFLECTION_IN_CLASS_PATH
  • KT-61145 False negative NOTHING_TO_OVERRIDE when context receivers don't match
  • KT-59378 K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA
  • KT-61163 Default params on actual check and inheritance by delegation compilation error
  • KT-60800 [atomicfu-K/N]: turn on the tests for the K/N part of the compiler plugin
  • KT-61029 K2: Duplicates when processing direct overridden callables
  • KT-55196 K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() call
  • KT-60862 Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepository
  • KT-57963 K2: MPP: Annotation calls should be actualized
  • KT-60854 K2: IrActualizer incorrectly generates fake overrides for synthetic java properties
  • KT-59665 ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualization
  • KT-61039 False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match
  • KT-61166 Inherited platform declaration clash & accidental override
  • KT-60531 K2/JS: Report diagnostics before running FIR2IR
  • KT-32275 Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment error
  • KT-57845 K2. Unresolved reference error on calling Java references with fully qualified name
  • KT-58757 K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declaration
  • KT-59736 kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.|-547215418288530576[1] is unbound
  • KT-59071 K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set between
  • KT-61167 Runtime failure: ReferenceError: MyPromise is not defined
  • KT-59408 K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
  • KT-61409 Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled
  • KT-57329 K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler plugin
  • KT-59247 Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor call
  • KT-58576 K2: IR actualization problems in MPP scenario
  • KT-61442 K2: Consider stricter filtering on implicit integer coercion
  • KT-61441 K2: Wrong overload is chosen with ImplicitIntegerCoercion enabled
  • KT-59328 K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature()
  • KT-61159 K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different module
  • KT-59233 K2: false-negative diagnostic on creating a callable reference to a function with free type variables
  • KT-61418 k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol"
  • KT-61373 False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code.
  • KT-58884 K2: NotAMockException for mock testing with lambda expression with Maven
  • KT-58893 K2: MockitoException for mock testing with lambda expression with Gradle
  • KT-59483 K2: Build a Native app
  • KT-57738 K2: unresolved class fields and methods in kotlin scripts
  • KT-59449 K2: Diagnostic messages contain debugging-style rendered FIR
  • KT-59849 K2: IllegalArgumentException: List has more than one element
  • KT-57553 Implement deprecation for open val with backing field and deferred initialization in K1
  • KT-57230 Support Kotlin/Wasm in the K2 platform
  • KT-59409 K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE
  • KT-59058 Companion object is not initialized on class constructor call
  • KT-61017 K2: intermediate expect/actual class results in expected class has no actual declaration in module
  • KT-60181 K2: "NotImplementedError: An operation is not implemented" with Spring
  • KT-59472 K2: build Reaktive
  • KT-54786 MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliased
  • KT-59753 K2: NotImplementedError when using annotation with vararg with default value from other module
  • KT-60883 K2: Fix testRequireKotlinCompilerVersion in LV 2.0 branch
  • KT-59747 K2: cannot actualize expect class to Unit via typealias
  • KT-61054 K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invoke
  • KT-57126 [KLIB Reproducibility] Manifest is written using os-dependent line separators
  • KT-60850 K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform module
  • KT-59218 K2: return types of calls to @PolymorphicSignature methods inside try-expressions don't resolve to void when required
  • KT-60002 K2: Missing UNSUPPORTED_SUSPEND_TEST
  • KT-61011 K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-58906 K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambda
  • KT-59490 K2: build km-shop
  • KT-60163 K2: vararg annotation argument value is serialized not as an array
  • KT-59355 K2: Allow to actual classifier have wider visibility than the corresponding expect class
  • KT-56179 [K2/N] interop_objc_tests/multipleInheritanceClash.kt test failed
  • KT-59411 K2: Missing ENUM_CLASS_CONSTRUCTOR_CALL
  • KT-59410 K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE
  • KT-59382 K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL
  • KT-59901 K2: Disappeared API_NOT_AVAILABLE
  • KT-60474 K2: False negative type mismatch for array literal with wrong numeric literal
  • KT-59610 K2: Calls to annotations with default values are serialized differently in K1 and K2
  • KT-60139 K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class)
  • KT-60793 K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef
  • KT-60735 K2: lateinit property diagnostic has not been initialized
  • KT-60137 K2: Quite complicated redeclaration error description is displayed for data classes
  • KT-60639 K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass<p1.A>
  • KT-56888 CFA: Valid green in K1 -> red in K2. catch_end -> finally -> after_try
  • KT-60723 K2: Nested finally block has extra jump edge if surrounding try block jumps
  • KT-60573 K2: False positive/negative CONFLICTING_OVERLOADS for main functions
  • KT-60124 K2: Conflicting declarations on extension properties with different upper-bounded type parameter
  • KT-60259 K2: Reflection target is missing on adapted function refernces
  • KT-59036 InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotation
  • KT-59094 K2: Fix Scripting K2 tests
  • KT-59711 K/N: Implement enumEntries intrinsic
  • KT-59748 K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch
  • KT-60154 K2: Expected some types error
  • KT-58139 K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argument
  • KT-59485 K2: build Anki-Android
  • KT-59415 K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR
  • KT-59710 K/JVM: Implement enumEntries intrinsic
  • KT-57984 K2/JS fails with IdSignature clash for inherited expect/actual function
  • KT-59398 K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE
  • KT-60645 Native: dynamic caches are broken on Linux
  • KT-50221 FIR: handle enhanced/flexible nullability inside withNullability properly
  • KT-59281 JVM IR inline: incorrect type of created array
  • KT-59507 JVM IR inline: invocation of arrayOfNulls by function reference results in exception
  • KT-58359 Allow volatile intrinsics on inline function constant arguments
  • KT-60598 K2: add OptIn checkers for command line arguments
  • KT-59766 K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library build
  • KT-59644 K2: the companion object in an expect class requires to be explicitly defined for compileNativeMainKotlinMetadata
  • KT-59640 K2: expect constructor requires calling this or super but didn't use to
  • KT-58883 K2: False negative type mismatch for generic annotation in collection literal
  • KT-59581 K2: Initializer type mismatch: expected Array<KClass<*>>, actual Array<KClass> in annotation parameter default value using array literal
  • KT-59069 K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL
  • KT-59416 K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT
  • KT-59417 K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE
  • KT-59381 K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM
  • KT-59384 K2: Missing DYNAMIC_NOT_ALLOWED
  • KT-59406 K2: Missing PROPERTY_DELEGATION_BY_DYNAMIC
  • KT-60247 K2: order of data class generated member differs in IR
  • KT-57223 K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfaces
  • KT-60183 K2: INAPPLICABLE_JVM_NAME on private methods with all-open plugin
  • KT-60120 K2 can't get a default parameter value of expect annotation
  • KT-57240 K2 MPP: Actualization doesn't work for flexible types
  • KT-60436 K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverride
  • KT-60299 K2: when a typealias to Unit is returned, an explicit return is now required
  • KT-58005 K2: Unsupported compile-time value BLOCK for Repeatable annotations
  • KT-60223 K2: Wrong import with import alias
  • KT-54854 K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2
  • KT-59738 K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environment
  • KT-59708 K2: "Property must be initialized or be abstract" occurs due to constructors order
  • KT-58483 K2. -Xmulti-platform flag isn't working
  • KT-53490 FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handling
  • KT-59673 K2: incorrect error message
  • KT-58578 K2: Commonize expect-actual logic between FIR and IR actualizer
  • KT-54989 FIR2IR: fragile code in postfix op detection
  • KT-59464 K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserter
  • KT-53898 K2: False negative VAL_REASSIGNMENT on member vals
  • KT-57641 K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for KClass.objectInstance on an anonymous object
  • KT-59299 [K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable class
  • KT-58844 Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected"
  • KT-59413 K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS
  • KT-56173 FIR: IrGenerationExtensions cannot see default values from expect declarations
  • KT-59611 FIR2IR: Unsupported callable reference for enum entry with clashing name
  • KT-59858 Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644)
  • KT-58539 [K2] Ir actualization fails to match expect/actual declarations that use custom function types
  • KT-59775 'toString()' on Object returns different result with concatenation
  • KT-59737 K2: Actual class 'actual class FastArrayList : AbstractMutableList, MutableListEx, RandomAccess' has no corresponding members for expected class members because of different parameter names in Java
  • KT-59613 K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameter
  • KT-59216 K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead)
  • KT-59057 Revise muted tests for native backend
  • KT-57377 K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilation
  • KT-59693 MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properly
  • KT-59362 K2/MPP: .toByte() conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: null
  • KT-51670 FIR: questionable behavior for deprecated String constructors
  • KT-35314 StackOverflowError with nested try-finally and function with contracts
  • KT-53460 False positive smartcast warning in if block after if block
  • KT-40851 False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init block
  • KT-59695 K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE
  • KT-41198 False positive “Variable must be initialized” with assignment in scope function and safe call
  • KT-58901 K2. Value parameter default values are not checked for type mismatch
  • KT-48115 Member functions with type parameter and contract don't produce smartcasts
  • KT-59541 K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9
  • KT-58943 K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidate
  • KT-37375 [FIR] Incorrect invoke resolution
  • KT-59789 K2: self-reference does not compile anymore
  • KT-59286 JVM IR inline: local property not found
  • KT-58823 K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/View
  • KT-57754 K2: No public signature built for the synthesized delegate field
  • KT-58533 K2: "Not enough information to infer type variable T" for generic call in throw expression
  • KT-34846 FIR Java: enhance type parameter bounds properly
  • KT-52043 FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declaration
  • KT-59291 JVM IR inline: unexpected result of apiVersionIsAtLeast invocation
  • KT-59550 K2: synthetic property isn't seen through Java
  • KT-59038 [K2] IllegalStateException in mixed Java/Kotlin inheritance
  • KT-59489 K2: builld spring-petclinic-kotlin
  • KT-58908 K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incomplete is
  • KT-56755 K2: Investigate failures related to line numbers with LT compilation enabled
  • KT-56139 K2: consider adding source element for implicit receivers
  • KT-57489 K2: Incorrectly generated line numbers in companion object access inside class
  • KT-58947 Run all existing codegen box tests with kapt stub generation
  • KT-58827 K2 reports ACTUAL_WITHOUT_EXPECT on the whole class
  • KT-54917 K2: ILT leak from a completed generic call
  • KT-56187 K2: type parameter's upper bound is ignored in callable references
  • KT-56186 K2: lack of type arguments in type constructor is ignored in callable references
  • KT-59356 K2: Restrict rules for matching of expect supertypes for actual class
  • KT-57217 K2: NoSuchMethodError on toChar call on java inheritor of java.lang.Number
  • KT-58356 K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin project
  • KT-57954 K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0
  • KT-59508 K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errors
  • KT-53820 FIR: mismatching error message for invisible reference/member
  • KT-58641 K2: PublishedApi has no effect when internal fun used in the test source set
  • KT-59461 K2: Erroneous null check when returning not-null typealias to nullable type
  • KT-58980 K2: Import of java field from companion's base breaks the compiler
  • KT-59140 K2: "Symbol public final static field is invisible" caused by java static field called in kotlin code
  • KT-59501 Escape analysis constructs arrays of negative size
  • KT-59452 apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-time
  • KT-53967 [PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element"
  • KT-59346 Not working breakpoints on not initialized variables
  • KT-55993 Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between them
  • KT-58335 K2: Exposed typealias from implementation dependency produces type mismatch in dependent module
  • KT-58719 K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class
  • KT-57694 K2: False positive [NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collection
  • KT-58460 K2. return without argument became allowed for functions with return type Any
  • KT-49249 Incorrect nullability inferred for Throwable
  • KT-57429 K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signature
  • KT-57566 K2: Fix name mangling for functions that have dynamic type in their signature
  • KT-57818 K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platforms
  • KT-57777 K2: Fix computing a mangled name for the synthesized entries property getter of an enum class
  • KT-57433 K2: Fix computing a mangled name for top-level functions and properties
  • KT-58553 k2: Annotation type arguments are lost in FIR2IR
  • KT-58184 K2: False negative INVISIBLE_MEMBER on destructuring declaration
  • KT-58637 K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declaration
  • KT-54952 JvmSerializationBindings does not work with K2
  • KT-54844 FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIR
  • KT-58555 K2: Generic property reference inside delegation misses type argument
  • KT-57648 FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase
  • KT-57049 K2 generates duplicates of symbols/declarations
  • KT-55723 K2: deprecations for enum entries are not resolved on the TYPES phase
  • KT-59033 Doesn’t support vararg parameter in annotation instantiation with empty arguments
  • KT-58780 JVM IR inline: local property delegation is not working for K2
  • KT-58779 JVM IR inline: correctly process special inlined block in value class lowering
  • KT-58720 Generate full InnerClass attributes for the standard library
  • KT-58215 K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGE
  • KT-42696 JVM IR generates line numbers for all bridges leading to extra steps in the debugger
  • KT-57228 K2: annotations for interface member properties implemented by delegation are copied
  • KT-57216 K2: non-trivial enum declaration does not have ACC_FINAL in the bytecode
  • KT-55866 K2: Constant as parameter of @JvmName: BE: "Unsupported compile-time value CALL private final fun "
  • KT-58717 Object on the left-hand side of callable reference is not initialized if KCallable.name optimization is used
  • KT-59211 Kapt+JVM_IR: AssertionError on delegating to anonymous object
  • KT-57251 K2: weird error message when trying to instantiate an expect class without explicit constructor
  • KT-58623 Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS do
  • KT-55945 NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin class
  • KT-58840 K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower bound
  • KT-57243 K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class file
  • KT-57833 K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same name
  • KT-58153 K2/MPP/JVM&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-class
  • KT-58124 K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound)
  • KT-58346 k2: false negative MUST_BE_INITIALIZED for deferred initialization
  • KT-57803 K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0
  • KT-57504 [K2/N] Wrong coercion of ILT: 7 to kotlinx.cinterop.COpaquePointer causes Cannot adapt kotlin.Int to kotlinx.cinterop.CPointer during autoboxing
  • KT-57484 K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercion
  • KT-57971 K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argument
  • KT-56779 Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementation
  • KT-51793 FIR: Investigate property+invoke resolution priorities
  • KT-57003 FIR: missing annotation on parameter of data class' synthetic copy
  • KT-57269 K2: collection stub for sort is not generated for custom List subclasses
  • KT-54748 K2: incomprehensible errors when type parameter has the same name as a class
  • KT-50703 FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor calls
  • KT-57622 Fix incorrect metadata for data class generated methods
  • KT-54887 K2: fix behavior of references to value classes equals/hashCode/toString
  • KT-58937 K2: Annotation vararg arguments are incorrectly serialized
  • KT-58621 K2: Private class shadows public function defined in the same package
  • KT-59041 K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource " on incorrect collection declaration
  • KT-58665 K2: Optional.of incorrectly accepts nullable String
  • KT-58938 K2. Abstract class can be invoked using member reference :: operator
  • KT-50798 FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION
  • KT-58944 K2. StackOverflowError on incorrect intersection types
  • KT-59241 K2: broken inference of DNN types
  • KT-58294 K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameter
  • KT-58972 K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class members
  • KT-58989 K2: Forbid suspend operator get/setValue and provideDelegate
  • KT-59177 K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdas
  • KT-57028 K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java api
  • KT-58007 K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotation
  • KT-58472 Secondary constructor breaks MUST_BE_INITIALIZED check
  • KT-59022 Make is and as behaviour consistent in Native
  • KT-58902 K2: Calls to overridden method with default parameter are not compiled
  • KT-58549 K2: variable type is infered to non-existing interface
  • KT-58613 K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolution
  • KT-55552 K2. False negative TYPE_MISMATCH in implementation via delegation
  • KT-57436 Fix computing mangled names of generic properties from IR-based declaration descriptors
  • KT-58543 [K2/N] Rewrite native MPP tests to avoid expect actual in same module
  • KT-57701 Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backends
  • KT-58444 K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source set
  • KT-57756 K2: Missing syntax errors when light tree parsing is used
  • KT-57435 Fix computing mangled names for functions with context receivers
  • KT-57219 K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecode
  • KT-57955 K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegate
  • KT-58583 K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested class
  • KT-57425 K2: False-positive smartcast on property accessed through a property from another module
  • KT-57844 K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatch
  • KT-58584 K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized"
  • KT-58529 K2: "Extension function type is not allowed as supertypes" compile error
  • KT-58379 K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branch
  • KT-58284 K2: False negative ITERATOR_MISSING
  • KT-55078 K2 IDE: Infinite recursion in org.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClass
  • KT-58080 K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const val
  • KT-58674 K2: No expected type for while loop condition
  • KT-56523 K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED
  • KT-58238 Support dumping signatures and mangled names in irText tests
  • KT-58456 K2: Custom function type metadata breaks Compose library compatibility
  • KT-58267 K/N: do not reference hidden Array.content* functions from the compiler
  • KT-57791 Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.String
  • KT-58437 K2: Do not use descriptors in KonanSymbols
  • KT-57432 K2: Don't create default getters and setters in case when they are not needed
  • KT-46047 FIR: incorrect type of integer literals
  • KT-57487 [K2/N] Stdlib ArraysTest fails with Class found but error nodes are not allowed
  • KT-56951 K2: False negative error on compound assignment for property of type Byte
  • KT-57222 K2: compiler FIR serialization crash on two functions with captured type and object literal
  • KT-58224 K2: deprecation on field is not detected properly
  • KT-55662 K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int"
  • KT-55668 K2. 'in' modifier became applicable to star projection
  • KT-57064 K2: hidden internals of dealing with type-aliased primitive types are exposed to user
  • KT-58252 K2: Symbol already bound for backing field during building resulting JS artifact for MPP project
  • KT-56940 K/Wasm: report compiler errors for unsupported external declarations
  • KT-56943 K/Wasm: implement @WasmImport diagnostics
  • KT-55903 K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type arguments
  • KT-56944 K/Wasm: implement @JsFun diagnostics
  • KT-58329 K2: False-positive suspend conversion for anonymous functions
  • KT-58028 K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSION
Docs & Examples
  • KT-60545 Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errors
  • KT-50927 Kotlin / Docs: Delete all the information about old Kotlin/Wasm
  • KT-61398 Advertise hierarchy templates in 1.9.20-Beta what's new
IDE
New Features
  • KTIJ-23199 K2 IDE: Improve Import quick fix description
  • KTIJ-26056 Support highlighting of KNM files
Performance Improvements
Fixes
  • KTIJ-26782 Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration"
  • KTIJ-27188 Bundled DevKit plugin + 1.9.20-Beta* constantly throws exceptions when opening another plugin codebase
  • KTIJ-25220 Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpath
  • KTIJ-25563 Failed cinterop task becomes UP-TO-DATE and successfully passes on the second import
  • KTIJ-26536 IDE in Java file resolves to property with the same name instead of method in the nested class from library
  • KTIJ-25126 K2 IDE. No import quickfix for Java static members
  • KT-60341 K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(*)?"
  • KTIJ-25960 K2 IDE: KDoc references to static java methods are not resolved
  • KTIJ-7642 HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target present
  • KTIJ-25745 K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itself
  • KTIJ-26501 K2: IDE K2: False positive unused import when declaration used for vararg parameter type
  • KTIJ-26661 K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifier
  • KTIJ-26672 K2 IDE: false positive in optimize import for ambiguity calls
  • KTIJ-26760 K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positive
  • KTIJ-26867 K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directives
  • KTIJ-26848 K2 IDE: index inconsistency in case of "" name
  • KTIJ-26666 K2 IDE: changed FirFile is treated as fully resolved after in-block modification
  • KT-59836 Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methods
  • KT-28611 MPP: Gradle -> IDE: settings provided via compilations DSL are not imported into common modules facets
  • KTIJ-25448 When project JDK is less than one defines in jvmToolchain block, run with Idea fails with has been compiled by a more recent version of the Java Runtime
  • KT-60603 K2: Investigate intellij tests failures in branch 2.0
  • KTIJ-25364 K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE
  • KTIJ-24390 Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build
  • KT-60590 Fix light classes related tests in branch 2.0
  • KT-60530 K2 scripting: exception on .gradle.kts opening
  • KT-60539 K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken@3ce52fd9 is inaccessible: Using KtLifetimeOwner from previous analysis" at highlighting
  • KTIJ-26276 K2 IDE: Optimize import drops used import alias
  • KT-60518 K2 IDE. False positive [NON_MEMBER_FUNCTION_NO_BODY] when completing function with Complete current statement
  • KT-60323 K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return type
  • KT-60352 K2 IDE. Support Java Records
  • KT-56503 K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase execution
  • KTIJ-25653 K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declaration
  • KT-59843 SLC: KotlinAsJavaSupport.packageExists (via KotlinStaticPackageProvider) said ROOT package doesn't exist if no KtFiles are given
  • KTIJ-26206 Support retrieving KtType from annotation constructor calls on getters and setters
  • KT-59445 Recursion detected on input: JavaAnnotationImpl
  • KTIJ-26066 K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contract
  • KTIJ-26085 K2 IDE: treat psi modification of a contact inside a body as OOBM
  • KTIJ-25869 K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was found
  • KTIJ-24272 K2 IDE: "Expected some types"
  • KTIJ-24730 K2 IDE. IllegalStateException on absence of opening bracket in main() function
  • KT-59533 AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElement
  • KT-59563 Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parameters
  • KT-57567 SLC: missing final modifier on enum (non-synthetic) members
  • KT-59537 SLC: SymbolLightClassForAnonymousObject with null parent
  • KTIJ-24121 K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatch
  • KTIJ-25335 K2 IDE. "failed to convert element KtLightField:" on attempt to set property in class with constructor
  • KT-59293 Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameter
  • KTIJ-25976 K2 IDE: Fix "Unsupported compiled declaration of type" for type parameters
  • KT-59325 Symbol Light Classes: Non-existing fields for properties from companion objects
  • KT-57579 SLC: unboxed type argument as method return type
  • KT-54804 Generate synthetic functions for annotations on properties in light classes
  • KT-56200 Kotlin FIR reference resolve exception leaks user code
  • KT-58448 K2 / IDE / SLC: findAttributeValue for attribute w/ default value raises ClassCastException
IDE. Completion
Fixes
  • KTIJ-26518 K2 IDE: Code completion does not insert import when completing a type in the vararg position
  • KTIJ-26713 K2 IDE: Code completion does not insert import when completing a type inside a functional type
  • KTIJ-26597 K2 IDE: "Change return type" quick fix adds full qualified name to anonymous function
  • KTIJ-26384 K2 IDE: Extension functions completion should recognize context receivers
  • KTIJ-26419 K2 IDE: Completion in anonymous function inside when branch expression does not account for smart cast
  • KTIJ-26629 K2 IDE: Completion of types in anonymous function return is not shortened
  • KTIJ-26599 K2 IDE: Typing do ... while statement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found"
  • KTIJ-26113 K2 IDE: Completion in when branch does not account for smart casts if else branch is present
  • KT-60451 K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImpl
  • KTIJ-21103 FIR IDE: implement completion In Kdoc
  • KTIJ-24096 K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scope
  • KTIJ-25116 K2 IDE: Name shortening in constructor's parameters affects constructor
  • KTIJ-19863 Bad completion variants inside annotations
IDE. Decompiler, Indexing, Stubs
  • KTIJ-26706 Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another module
  • KTIJ-25465 IDE hangs when indexing Kotlin project
  • KTIJ-25979 K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sources
  • KTIJ-25985 Stub mismatch for names with special characters
IDE. Gradle Integration
  • KTIJ-25334 Gradle 8.1: Unresolved references in IDE for build.gradle.kts
  • KT-61777 Explicit API mode isn't reflected in IDE settings unless every task is configured with Gradle
  • KTIJ-26306 apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8
  • KT-61172 MPP: Stacktraces of diagnostics are always printed during IDEA sync
  • KT-48554 [Multiplatform Import] Ensure consistency between GradleImportProperties and PropertiesProvider
  • KT-36677 MPP Gradle plugin doesn't respect manually set compiler arg -opt-in
  • KT-58696 MPP + IDEA: tryK2 does not affect LV value of common facets
  • KT-53875 Warn users about erroneously adding dependsOn from test to main
  • KTIJ-23890 Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IR
IDE. Gradle. Script
  • KTIJ-25523 Scripts: support for standalone configuration flag
  • KTIJ-25910 Scripts: transition to GistStorage
  • KTIJ-26778 Gradle 8.3: some parts of build.gradle.kts look unresolved
  • KTIJ-26308 IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.kts
  • KT-60171 K2 IDE: scripting freeze on kotlin project build.gradle.kts file
  • KT-60236 K2 scripting: completion fails with exception
  • KT-59801 K2 IDE: Adding of an import with a task name to a build script leads to unresolved references
  • KT-60749 Scripting: default definition as a fallback
  • KT-60199 K2 scripting: exception on script opening
  • KT-60193 K2 scripts: configuration discovery fails silently from time to time
IDE. Hints. Parameter Info
  • KTIJ-26824 K2 IDE: "Parameter Info" shows incorrect overload as selected
IDE. Inspections and Intentions
New Features
  • KTIJ-26302 K2 IDE: Support adding a @OptIn annotation and suggesting to propagate opt-in requirement in quickFixes
  • KTIJ-25002 Provide a quick fix to migrate use-site 'get' annotations on getters
Fixes
  • KTIJ-24832 K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a class
  • KTIJ-26103 K2 IDE: False positive in redundant qualifier inspection
  • KTIJ-26024 K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer class
  • KTIJ-26576 K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraint
  • KTIJ-26785 K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interface
  • KTIJ-26695 K2 IDE. False negative "Redundant qualifier" directive for invoke function from object
  • KTIJ-26627 K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scope
  • KTIJ-23407 K2 IDE. False positive unused import directive for invoke function from object
  • KTIJ-26808 K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parent
  • KTIJ-26840 K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clash
  • KTIJ-26498 KMP: Create expect-actual dialog selects incorrect path on Windows
  • KTIJ-24877 K2 IDE. False negative unused import directive when declaration is available in file indirectly
  • KTIJ-25368 K2 IDE. Specify type explicitly intention does not work with Java records
IDE. JS
  • KTIJ-25023 K/JS: Remove balloon warning about migration to IR backend
IDE. Libraries
  • KTIJ-13660 MPP library: No gutters for expect and actual symbols
IDE. Misc
  • KT-60053 IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributes
IDE. Multiplatform
Fixes
  • KTIJ-26700 KMP: false positive report of non matching expect and actual annotations if annotation is actual typealias
  • KTIJ-25997 KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android)
  • KT-61686 Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha
  • KTIJ-27058 Wizard's KMM application failed to build in 232 AS
  • KT-59760 [BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of custom
  • KT-61520 Sources.jar is not imported for common and intermediate source-sets from the MPP library
  • KTIJ-25842 MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpart
  • KTIJ-25746 MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on common
  • KT-60410 Add minimum supported KGP version in intellij.git infrastructure
  • KT-59794 Bump used KGP in multiplatform intellij.git tests after release 1.9.0
  • KT-59518 Cherry-pick old-import tests into 231-1.9.0/master
  • KT-56736 Investigate how-to run multiplatform tests on real devices
  • KT-59519 Bump AGP versions in intellij.git tests in master
  • KTIJ-25591 MPP: Create expect/actual dialog doesn't allow selecting all targets
  • KT-56684 Adopt KMM UI tests to be used with IDEA
  • KT-50952 MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Navigation
  • KT-61894 Navigation from java sources leads to Kotlin decompiled code in case of suspend function
  • KTIJ-27053 Value parameters documentation of expect isn't shown in actuals
  • KTIJ-26292 Documentation for expect/actual comes from a random actual
  • KTIJ-26441 K2 IDE: navigation doesn't work when type parameters are missed in annotation call
  • KTIJ-26566 K2 IDE: don't show no-name parameters in presentations
  • KTIJ-25366 K2 IDE. Go to declaration of Java record shows record and constructor
IDE. Refactorings. Rename
  • KTIJ-25762 K2 IDE. label rename doesn't change it's name in usages after rename refactoring
IDE. Script
  • KTIJ-25989 java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is null
  • KT-60519 Analysis API: scripts are not invalidated on PCE
  • KTIJ-26670 K2 Scripts: We should be able to find a symbol for
  • KTIJ-25731 KtAssignResolutionPresenceService is not available as a service in 231-1.9.20
  • KT-60307 K2 IDE. KotlinExceptionWithAttachments in script file
IDE. Wizards
  • KTIJ-27005 Wizards 232: Fix generated kotlin version for 1.9.20-Beta
  • KTIJ-26846 Adjust compatibility data for 1.9.20 release
  • KTIJ-26479 1.9.20: Update versions in wizards
  • KT-59347 Rename Compose Multiplatform wizard to Compose for Desktop
IR. Interpreter
  • KT-60467 "InternalError: Companion object * cannot be interpreted" caused by java's package name
  • KT-60744 Restore binary compatibility of toIrConst function
IR. Tree
  • KT-59771 Restore compatibility of IdSignature.CommonSignature
  • KT-59772 Restore compatibility of IrFactory#createFunction
  • KT-59308 Auto-generate the IrFactory interface
JS. Tools
  • KT-44838 Kotlin/JS source-map-loader slow performance since 1.4.0
JavaScript
New Features
  • KT-58684 KJS: ES15 classes — creating instance by class
Performance Improvements
  • KT-58187 KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile)
Fixes
  • KT-60425 Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferred
  • KT-62790 java.lang.ClassCastException in compiler when ::class is used
  • KT-60495 K2: Make JS CliTestGenerated working with K2
  • KT-6168 Ability to generate one JS file for each Kotlin source file
  • KT-60667 K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtime
  • KT-61581 KJS: generate separate imports for useEsModules()
  • KT-56737 K2: build Space JS
  • KT-59001 K/JS: Use open-addressing hash map in JS stdlib
  • KT-60131 KJS: Interference between @JsExport and final implementation of properties
  • KT-59712 K/JS: Implement enumEntries intrinsic
  • KT-60202 JsExport.Ignored internal extension still has "JavaScript name () generated for this declaration clashes with another declaration"
  • KT-51333 KJS: some KType equals Nothing's KType throws an exception, breaking its symmetry
  • KT-58857 KJS/IR: js file is not generated when source is stored in /var folder
  • KT-53482 KJS: Inheritance from JS class fails in ES6, because constructor is not called with new
  • KT-58891 K/JS: non-local return in lambda may leave an unreachable JS code after return
  • KT-49077 KJS / IR: Wrong method called when using overloaded methods and class with the same name
  • KT-59718 K/JS: Concatenating a String with a Char can lead to boxing of the Char
  • KT-59717 K/JS: a redundant boxing of a returned Char from an inline function
  • KT-39506 Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: _this__0._set_name__2 is not a function"
  • KT-59151 K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClasses
  • KT-59335 K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent object
  • KT-58797 Optimize the code generated for objects on JS and Wasm backends
  • KT-52339 FIx failing JS tests after bootstrap update
  • KT-46643 KJS / IR: Setter of overridden var of external val is removed
  • KT-55315 IR: can't access the stack property of Throwable
  • KT-59204 Automatically generate NATIVE directive in tests for IR signatures
  • KT-59239 K/JS: Bridge not generated for checking parameter type in generic class override
  • KT-57347 KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stub
  • KT-58599 KJS: Adding an override method to open class does not rebuild children JS code
  • KT-58003 K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-function
  • KT-38017 KJS: tests generate invalid code depending on file names
  • KT-25796 KJS: Top-level constructs are put in an incorrect order
  • KT-58396 KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritance
KMM Plugin
  • KTIJ-27158 Import is failing after creation of new module if project don't use versionCatalog
  • KT-59492 KMM AS plugin for Canary 231 reports error
Klibs
  • KT-58877 [klib tool] add ability to dump klib ir
  • KT-54402 Programmatic API to dump public signatures from KLibs
  • KT-60576 Keep supported IR signature versions in manifest
  • KT-59136 [PL] Lower the default PL engine messages log level down to INFO
  • KT-59486 klib: Serialize mangled names along with signatures
Language Design
  • KT-22841 Prohibit different member scopes for non-final expect and its actual
  • KT-49175 Inconsistency with extension super-type allowance between suspend / non-suspend function types
  • KT-61573 Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in Beta
  • KT-57614 KMP: consider prohibiting actual typealias when the corresponding expect class has default arguments
  • KT-27750 Reverse reservation of 'yield' as keyword
Libraries
New Features
  • KT-59440 Rework Flags API in kotlinx-metadata-jvm
Fixes
  • KT-62381 K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available)
  • KT-62656 Drop @AllowDifferentMembersInActual from stdlib
  • KT-58887 Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspends
  • KT-61507 Native: enum hashcode is not final
  • KT-56106 Migrate stdlib to current Kotlin Multiplatform Plugin
  • KT-58402 Migrate Vector128 from kotlin.native to kotlinx.cinterop
  • KT-60911 Compatibility publishing of kotlin-stdlib-common
  • KT-53154 Deprecate enumValues and replace it with enumEntries in standard library
  • KT-58123 Update deprecations in native atomic classes for 1.9.20
  • KT-60444 transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()'
  • KT-61342 kotlin-test-wasm-* artifacts include test code
  • KT-61315 Publish common sources in kotlin-test-js sources jar
  • KT-56608 WASI Preview1 version of Kotlin/Wasm stdlib
  • KT-55765 Review and stabilize stdlib surface available in K/N
  • KT-55297 kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7
  • KT-57838 Native: raise ExperimentalNativeApi opt-in requirement level to ERROR
  • KT-61028 Behavioural changes to the Native stdlib API
  • KT-61024 Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApi
  • KT-61025 Native: Deprecate HashSet.getElement() with WARNING
  • KT-53791 Publish standard library as a multiplatform artifact with Gradle metadata
  • KT-57363 Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reified
  • KT-57401 Native: Regex matching zero length should split surrogate pairs
  • KT-57359 Provide Common StringBuilder.append/insert with primitive type arguments
  • KT-58264 K2: republish kotlinx.metadata to support LV 2.0
  • KT-57710 Native: Internalize @Retain and @RetainForTarget annotations
  • KT-57720 Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERROR
  • KT-57837 Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutable
  • KT-58126 Wasm: Consider removing Primitive.equals(Primitive) overload on primitive types
  • KT-53327 Migrate all usages of 'Enum.values' to 'Enum.entries' in standard library
  • KT-59366 Deprecate KmModule.annotations
  • KT-59365 Get rid of two-stage parsing in KotlinClassMetadata
  • KT-35116 Enum.valueOf throws inconsistent exception across multiple platforms
  • KT-59223 Native Enum.hashCode should return identity hash code, similar to JVM
  • KT-56637 Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrect
  • KT-59192 Align behavior of collection constructors across platforms
Native
New Features
  • KT-50463 Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanisms
  • KT-59448 K2: IR and FIR signatures are not same for composable functions
Fixes
  • KT-60230 Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3
  • KT-62532 Support Xcode 15.0 frameworks as Kotlin/Native platform libraries
  • KT-61382 Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE_1_1300.0.29.30_0')
  • KT-61417 Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15
  • KT-60758 Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
  • KT-59149 Native: check compiler compatibility with Xcode 15 beta 1
  • KT-58537 iOS project fails to build with rootProject.name = "Contains Space"
  • KT-59073 Native: don't include kotlinx.cli endorsed library into compiler distribution
  • KT-58707 [K/N] Compiler crash building generics with redundant cast
  • KT-58654 Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin native
Native. C Export
  • KT-56182 [K2/N] C export doesn't work for non-root packages with K2
Native. C and ObjC Import
  • KT-59642 Remove ability to import forward declaration by library package name
  • KT-59643 K2: Disable merging of forward declaration with real declaration class
  • KT-52882 MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocol
  • KT-55578 Custom user message for linker error
  • KT-58585 [K2/N] Fix interop issues
  • KT-56041 [K2/N] Fix broken __builtin_nanf(String)
  • KT-57716 [K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol?
  • KT-56028 [K2/N] cnames.structs.Foo does not resolve
  • KT-59645 Cast to objective C forward declaration crashes compiler
  • KT-58793 [K2/N] Package separators after mangling are different for IR and FIR
Native. ObjC Export
  • KT-56090 [K2/N] Emit DocString klib extensions for ObjCExport
Native. Runtime. Memory
  • KT-61914 Kotlin/Native: massive increase in memory usage
  • KT-61092 Kotlin/Native: Adjust initial values for expected heap size
  • KT-61091 Kotlin/Native: GC scheduler pauses mutators too aggressively
  • KT-61741 Kotlin/Native: tsan error in parallel mark
  • KT-57773 Kotlin/Native: track memory in big chunks in the GC scheduler
  • KT-61089 Kotlin/Native: fix concurrent weak processing for new allocations
  • KT-55364 Implement custom allocator for Kotlin/Native
  • KT-57772 Kotlin/Native: concurrently process weak references in GC
  • KT-57771 Kotlin/Native: parallel mark in GC
Native. Stdlib
  • KT-60608 Introduce AtomicArrays API in K/N stdlib
  • KT-59120 Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ code
Reflection
  • KT-47973 Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive
  • KT-41373 "KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java class
  • KT-61304 Reflection: Calling data class copy method via reflection (callBy) fails when the data class has exactly 64 fields
  • KT-52071 Continue gracefully when the system property check "kotlin.ignore.old.metadata" fails
Tools. CLI
  • KT-60662 Add JVM target bytecode version 21
  • KT-58183 ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500ms
  • KT-58690 OutOfMemory when compiling in CLI
  • KT-58065 K2: Enable light tree instead of PSI for CLI compilation of JS and Native by default
Tools. CLI. Native
  • KT-59245 [K1/N] Compile sources to native binary in two stages
  • KT-56855 [K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with -language-version 2.0
  • KT-58979 [K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized path
Tools. Commonizer
  • KT-59302 Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifact
  • KT-62028 False positive "Unnecessary '@OptIn' Annotation" for ExperimentalForeignApi
  • KT-55757 kotlinx.cinterop.UnsafeNumber: empty opt-in message
  • KT-59859 Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumber
  • KT-59132 K2/Native/CInterop: [UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed'
  • KT-58822 Kotlin Gradle Plugin: migrate tests off native deprecated targets
  • KT-47641 Enabled cInterop commonization triggers native compilation during Gradle sync in IDE
Tools. Compiler Plugin API
  • KT-58638 K2: Annotations generated by IR plugins are not included into metadata
  • KT-61872 K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration
  • KT-61833 K2: annotations added via addMetadataVisibleAnnotationsToElement to declarations from common sourceset in MPP project are invisible
  • KT-60051 K2: Support metadata serialization of primitive const annotation arguments generated by IR plugins
Tools. Compiler Plugins
  • KT-61550 [atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal val
  • KT-58079 K2/atomicfu: JVM IR transformer crash on atomic extension functions
  • KT-61293 Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11
  • KT-55876 K2. "[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEA
  • KT-58049 K2: Smartcast of nullable property fails when Spring compiler plugin is present
  • KT-57468 Kotlin assignment plugin: operation name cannot be found for reference
Tools. Compiler plugins. Serialization
  • KT-58501 K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targets
  • KT-59768 kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companions
Tools. Gradle
New Features
  • KT-59000 Default standard library dependency should use the single artifact for all targets
  • KT-57398 Add ability to run compilation via build-tools-api
  • KT-34901 Gradle testFixtures don't have friendPaths set
  • KT-44833 Gradle DSL: Add languageSettings accessor to kotlin extension that applies to all source sets
  • KT-58315 Add build metrics for Kotlin/Native task
Performance Improvements
  • KT-62318 Android Studio sync memory leak in 1.9.20-Beta
  • KT-62496 Configuration time regression with KGP 1.9.20-Beta caused by loading of properties
  • KT-61426 Enabling compilation via the build tools API may cause high metaspace usage
Fixes
  • KT-61359 "Unresolved reference: platform" when enabling Gradle configuration cache
  • KT-59826 Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8
  • KT-57565 Add ability to capture classpath snapshots via the build-tools-api
  • KT-51964 Optimize kotlin.incremental.useClasspathSnapshot feature to improve incremental Kotlin compilation
  • KT-61368 Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations
  • KT-61355 freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilations
  • KT-61273 KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimes
  • KT-58987 Use some available JVM target if there's no JvmTarget for the inferred toolchain version
  • KT-58234 Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source API
  • KT-61401 The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate
  • KT-54231 Compatibility with Gradle 8.0 release
  • KT-61950 K/Wasm: Add warning about changed sourceSets
  • KT-61895 KotlinTopLevelExtension.useCompilerVersion is not marked as experimental
  • KT-61303 The module-name value stays unchanged when configuring it through compiler options extension specific to the android target
  • KT-61194 MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lost
  • KT-61253 CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extension
  • KT-59588 Upgrade max gradle version to max supported in kapt connected tests
  • KT-61292 Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configuration
  • KT-61193 Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle plugin
  • KT-60541 Possibility to create a custom usable KotlinCompile task without using internals
  • KT-59451 [K2][1.9.0-Beta] "Errors were stored into ..." log files never actually exist
  • KT-48898 Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settings
  • KT-60660 konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a Maven
  • KT-56959 K2: Set up Ktor repo performance benchmarks with K2 enabled
  • KT-56178 Compatibility with Gradle 8.1 release
  • KT-61457 Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCache
  • KT-60718 Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projects
  • KT-60717 Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the project
  • KT-54232 Don't check if file exists in task file inputs configuration
  • KT-61066 [KMP] iOS "Unkown Kotlin JVM target 20"
  • KT-54160 New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginId
  • KT-60839 KGP provides incorrect default value "ENABLED" for -Xpartial-linkage
  • KT-15370 Gradle DSL: add module-level kotlin options
  • KT-57645 build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2
  • KT-59827 Update configuration to validate plugin inputs
  • KT-59799 Validate Gralde Integrations tests has only one tag
  • KT-59117 Add gradle integration tests for explicit api mode in Android projects
  • KT-59587 Upgrade max gradle version to max supported in jvmToolchain connected tests
  • KT-56636 Bump max Gradle version for integration tests to 8.0
  • KT-58353 Support reporting of diagnostics after projects are evaluated
  • KT-53822 Upgrade the gradle-download-task dependency of the Kotlin Gradle plugin
  • KT-58162 Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGP
  • KT-58104 Check values for MPP_PLATFORMS
  • KT-58569 Bump language version for Gradle plugins dependencies to 1.5
Tools. Gradle. Cocoapods
  • KT-59263 Add diagnostic that a dummy framework is not present when build is triggered from Xcode
  • KT-57741 KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends on libarclite_iphoneos
  • KT-60050 Log reason why podInstall task is skipped
  • KT-49430 Stop invalidating iOS framework generated by KMM module on each Gradle Sync
  • KT-59522 Set the required environment for cocoapods invocations
  • KT-59313 Elevate to error deprecation of useLibraries
  • KT-58775 If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a project
Tools. Gradle. JS
New Features
  • KT-49789 KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=false
Fixes
  • KT-60469 KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson task
  • KT-61623 K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targets
  • KT-56933 Add Kotlin/JS incremental tests with K2 enabled
  • KT-58970 browserTest gradle task fails if karma is used and gradle configuration cache is enabled
  • KT-42520 Add a way to setup generating separate js files for each module inside gradle
  • KT-32086 Gradle, JS: runTask.enabled = false has no effect on npm dependencies
  • KT-48358 KJS: Circular dependency when multiple second-level Gradle modules have the same name
  • KT-50530 Kotlin/JS: enabling kotlin.js.ir.output.granularity=whole-program does not remove superfluous .js output files
  • KT-50442 KJS / Gradle: webpack plugin errors not logged
  • KT-46003 KJS / IR: Should provide single distributions folder for production and development similarly to Legacy
  • KT-47319 KJS: Error when project contains two modules with same name
  • KT-46010 KJS / Gradle: Can't find a file on building on Windows
  • KT-48923 KJS / Gradle: No Webpack error messages when Node.js process exits unexpected
  • KT-51942 KJS / Gradle: fails with two projects with the same name, but different paths
  • KT-51372 Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source set
  • KT-52134 KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflicts
  • KT-52776 KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS build
  • KT-54182 MPP / JS: StackOverflowError when in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifact
  • KT-58250 The NodeJsExec tasks are not compatible with Gradle configuration cache
  • KT-58256 The D8Exec tasks are not compatible with Gradle configuration cache
Tools. Gradle. Multiplatform
New Features
  • KT-60441 KGP based dependency resolution: Support 'idea.gradle.download.sources' flag
- See full ChangeLog in File
Checksums
File Sha256
kotlin-compiler-1.9.20.zip 15a8a2825b74ccf6c44e04e97672db802d2df75ce2fbb63ef0539bf3ae5006f0
kotlin-native-linux-x86_64-1.9.20.tar.gz 7da32e058506e6a8f4378be0e4471f5880b75235e23e1149ba29335d580db23c
kotlin-native-macos-x86_64-1.9.20.tar.gz 9a70e2f1d3020f31ac74f743d5dc3860c07101fa3916fc0325553f7b0ef4cfd5
kotlin-native-macos-aarch64-1.9.20.tar.gz 630e883bca63d02f571dfcd5b21728be4a050545c9dca8b1846a326c14452f65
kotlin-native-windows-x86_64-1.9.20.zip 78ea9f5a1ca3d665529b724400799e1f11040e784091ed033916dff1a77780b6

v1.9.10: Kotlin 1.9.10

Changelog
Compiler
  • KT-60769 Partially revert KT-58371
  • KT-60659 Incorrect 'unresolved reference: addFirst' error with JDK 21
  • KT-60371 Native custom allocator link error
  • KT-60986 Native: static caches with custom runtime options are broken on Linux
  • KT-60770 Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21
  • KT-60231 NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$$$ after upgrade to Kotlin 1.9.0
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-60852 Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0
  • KT-57509 KJS: Compiler generates native JS operator == for comparing values with Any type
Native
  • KT-60230 Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3
  • KT-60758 Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
Native. C and ObjC Import
  • KT-59167 Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
Tools. Gradle
  • KT-61147 Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson
  • KT-60543 NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtension
Checksums
File Sha256
kotlin-compiler-1.9.10.zip 7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342
kotlin-native-linux-x86_64-1.9.10.tar.gz 1db3679919f4449514e9d82451e7dfa73558ac9bc80b82579cd74d452c8faa5b
kotlin-native-macos-x86_64-1.9.10.tar.gz f5650f2560438a692803d8fe07124529c19f1972f84fe09cfa2329b93f43828d
kotlin-native-macos-aarch64-1.9.10.tar.gz d2cf5a484ac0808ab29fd3f6099df7c07330f81f3cbab949947e42e36138c3de
kotlin-native-windows-x86_64-1.9.10.zip a34d56661455e94e1ba4dd09ec3c1adac6148fdedcf55eefb9a79c8ed01ff02c

v1.9.0: Kotlin 1.9.0

Changelog
Analysis API
New Features
  • KT-57930 Analysis API: provide an API for extending Kotlin resolution
  • KT-57636 K2: Add the return type of K2 reference shortener AA ShortenCommand::invokeShortening() e.g., ShorteningResultInfo to allow callers to access the shortening result PSI
Fixes
  • KT-58249 Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
  • KT-55626 Impossible to restore symbol by psi from script file
  • KT-57314 LL FIR: Combine LLFirProvider$SymbolProviders in session dependencies (optimization)
  • KT-55527 K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
  • KT-55329 LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration
  • KT-50732 LL API: fix compiler based tests
  • KT-57850 K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol
  • KT-56543 LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
  • KT-56721 K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update
  • KT-50253 Analysis API: Solve issues with ProcessCancelledException
  • KT-56800 K2 IDE: optimize deprecation calculation for symbols
  • KT-55006 Analysis API does not transform Java type refs for callable symbol return types
  • KT-57256 AA FIR: Reduce lazy resolve phase for deprecation status
  • KT-57619 K2: CFG for class initializer is not correctly built in reversed resolve mode
  • KT-58141 K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type
  • KT-57462 Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field
  • KT-54864 Analysis API: add function to get expect KtSymbol list by actual KtSymbol
  • KT-56763 Analysis API: .KtSourceModuleImpl is missing in the map. on symbol restore when symbol cannot be seen from the use-site module
  • KT-56617 Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol
  • KT-54430 K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
  • KT-55440 Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
  • KT-58293 Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow
  • KT-58931 Wasm tests are failing to start on Kotlin 1.9.0-Beta
  • KT-58188 Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter
  • KT-57136 K/Wasm: Restrict non-external types in JS interop
  • KT-57060 Clarify the lack of support for dynamic in Kotlin/Wasm
  • KT-56955 K/Wasm: Support restricted version of K/JS js(code)
  • KT-57276 Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support
  • KT-56976 K/Wasm bug with calling override of external function with default parameters
Compiler
New Features
  • KT-55333 Allow secondary constructors in value classes with bodies
  • KT-54944 @Volatile support in native
  • KT-54746 Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes
  • KT-47902 Do not propagate method deprecation through overrides
  • KT-29378 K2: rework warnings/errors for equality/identity operators on incompatible types
  • KT-57477 False-positive overload resolution ambiguity in case of lambda without arguments
  • KT-57010 Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation
  • KT-55691 K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)
  • KT-46288 Unexpected behavior of extension function on lambda with suspend receiver
  • KT-24779 Inconsistent smart cast behavior for bound data flow values
Performance Improvements
  • KT-23397 Optimize out field for property delegate when it's safe (JVM)
  • KT-56906 FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders
  • KT-56276 LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
  • KT-57784 "NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map
  • KT-55217 K2: support callable reference conversions on top-level expressions
  • KT-57232 K2: build Space JVM (master)
  • KT-59079 "AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter
  • KT-58837 Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin
  • KT-57602 K2: Rework member scope of types having projection arguments for covariant parameters
  • KT-55171 Put new contracts syntax under a feature flag
  • KT-58719 K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class
  • KT-56030 [K2/N] Support Objective-C overloading by param names only
  • KT-57510 K2: Data class equals/hashCode/toString methods are not written to Klib metadata
  • KT-56331 K2: compiler backend crash on usage of expected function with default arguments
  • KT-53846 K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver
  • KT-58621 K2: Private class shadows public function defined in the same package
  • KT-59102 K2: constant evaluator does not provide Long type on shl
  • KT-59066 [K2] delegation leads to "IllegalStateException: Expected some types"
  • KT-56074 K2: build Space JVM (snapshot 2022.3)
  • KT-58787 KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate
  • KT-57022 K2 IllegalStateException in signature computation
  • KT-56792 K2: build kotlinpoet
  • KT-57373 K2: FIR properties synthesized when implementing interface by delegation don't have accessors
  • KT-56583 K1: Implement opt-in for integer cinterop conversions
  • KT-59030 [PL] Workaround for broken @Deprecated annotations in c-interop KLIBs
  • KT-58618 K2: Local property delegates cannot infer generic return type
  • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
  • KT-56739 K2: build Space iOS
  • KT-57131 K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer
  • KT-58137 K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module
  • KT-58897 K2: False positive unresolved reference with same-named enum class and its entry
  • KT-40903 Forbid actual member in expect class
  • KT-30905 Expect var property with default public setter matches with actual var property with private setter
  • KT-56172 K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error
  • KT-56171 Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error
  • KT-27261 Contracts for infix functions don't work (for receivers and parameters)
  • KT-56927 Enum with secondary constructor can't be compiled with K2 using JS/Native backend
  • KT-53568 Partial linkage: absent class as type parameter bound causes failure of compileProductionExecutableKotlinJs
  • KT-53608 Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private
  • KT-53663 Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead
  • KT-56013 K2. a set of errors about local properties are missing
  • KT-53939 Partial linkage: with turning object into class linkNative and jsTest tasks fail
  • KT-53938 Partial linkage: with turning interface into class and using as second parent Native build fails
  • KT-53941 Partial linkage: with turning class into object accessing member via parameterless constructor does not fail
  • KT-53970 Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails
  • KT-53971 Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails
  • KT-53972 Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend
  • KT-54045 Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized"
  • KT-54046 Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered"
  • KT-53887 Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException
  • KT-54047 Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file"
  • KT-54048 Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner()
  • KT-53995 Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful
  • KT-43527 @ExtensionFunctionType is allowed on function types with no parameters and leads to backend exception
  • KT-55316 K2. IllegalStateException on incorrect import directive name
  • KT-57570 Remove source code excerpts from platform type nullability assertion exceptions
  • KT-56073 K2: build Exposed
  • KT-47932 Report errors on cycles in annotation parameter types
  • KT-38871 Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property
  • KT-46344 No error for a super class constructor call on a function interface in supertypes list
  • KT-56609 K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and @Nullable annotation Java parameter
  • KT-56656 K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations
  • KT-58332 K2: local fun with suspend type is not marked as suspend in IR
  • KT-57991 K2: Modifier 'suspend' is not applicable to 'anonymous function'
  • KT-54294 K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches
  • KT-58564 [PL] Annotations with unlinked parameters are not removed
  • KT-52597 Provide Alpha Support for Multiplatform in the K2 platform
  • KT-58523 K2: reference is resolved to imported type-alias instead of identically named top-level property
  • KT-57098 Native: avoid object initialization while accessing const val
  • KT-57973 32-th default value in inline classes override function is not used
  • KT-57714 "IllegalStateException: <B::!>" using reified generics
  • KT-57810 toString of object erroneously considered as constant function in string concatenation
  • KT-58076 K2: Incorrect inference of type of labeled receiver
  • KT-57929 K2: Arguments of annotations are not calculated in a lot of strange locations
  • KT-54874 K2. No compilation error with incorrect Comparator invocation
  • KT-55388 Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
  • KT-53041 NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters
  • KT-54829 Cleanup local types approximation logic
  • KT-58577 K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module
  • KT-58587 MUST_BE_INITIALIZED must take into account effectivelly final
  • KT-58524 K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver
  • KT-53929 Enum.entries: consider changing scope behavior in K1
  • KT-58520 K2: FIR2IR: ISE during const evaluation of operator times with exposed
  • KT-57905 K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types
  • KT-56662 K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class
  • KT-57770 K2: Support generation of serializer if base class for serializable class declared in different module
  • KT-58375 Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments
  • KT-48870 [FIR] Different behavior for explicit receiver resolution inside delegated constructors
  • KT-58013 K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation
  • KT-58365 K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types)
  • KT-58214 Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA
  • KT-58030 K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method
  • KT-58135 K2: Priority of extension property is lower than ordinary property
  • KT-57181 [K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument
  • KT-58219 K2/MPP/metadata: false-positive invisible reference error in Native-shared source set
  • KT-58145 K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set
  • KT-56023 Constant operations (e.g. division) are not constant in K2 (JS, Native)
  • KT-57354 In suspend function default arguments are sometimes not deleted in IR
  • KT-55242 K2/MPP: basic build/link functionality
  • KT-57979 K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter
  • KT-57543 K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
  • KT-58142 K2: val parameter with more specific type is lower priority
  • KT-48546 Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign
  • KT-57854 RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing
  • KT-54518 False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class
  • KT-58025 K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver
  • KT-58259 Unexpected unresolved function call with obvious invoke-convention desugaring
  • KT-57135 K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameter
  • KT-57069 K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1
  • KT-57958 K2: Initializer type mismatch when using extension property on type with star projection
  • KT-58149 K2: New inference error with buildList
  • KT-58008 K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class
  • KT-57835 K2: compiler crash on lambda with dynamic receiver
  • KT-57601 K2: Builtin function extensionToString can't be accessed
  • KT-57655 K2: ImplicitIntegerCoercion is not working for named arguments
  • KT-58143 K2: overload resolution ambiguity inside dynamic lambda
  • KT-58132 K2: Implicit int constant to long converion crashes FirSerializer
  • KT-57378 Partial linkage: Run codegen box tests for Native & JS with enabled PL
  • KT-58207 K2: Handle result of completion of synthetic call with callable reference argument
  • KT-56549 K2: Reference to Java sealed class fails to compile
  • KT-57994 K2: Type inference failed on function reference
  • KT-58099 interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type"
  • KT-57671 Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC
  • KT-56517 K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates"
  • KT-58163 FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase
  • KT-55646 K2: Report definitely non-nullable as reified error
  • KT-58043 k2: Expect call is not removed from IR with nullability-based overload
  • KT-56442 K2: Make sure K2 has the same behavior for defaults with overrides as K1 has
  • KT-55904 Fix tests for volatile annotation on K2
  • KT-57928 K2: Arguments of annotations on constructor value parameter are not calculated
  • KT-57814 K2: Argument type mismatch with delegating property
  • KT-56490 Implement deprecation for an anonymous type exposed from inline functions with type argument
  • KT-57781 K2: Generated serializer is invisible in a non-JVM test source set
  • KT-57807 K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir
  • KT-57962 K2: No set method providing array access on dynamic
  • KT-57353 K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segments
  • KT-57899 K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter
  • KT-57988 K2: compiler exception on get operator on dynamic this
  • KT-57960 K2: incorrect type inference in lambda with dynamic receiver
  • KT-57923 K2: Optional expectation annotation crashes const evaluator
  • KT-56511 K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class
  • KT-58033 K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration
  • KT-58061 K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces
  • KT-55079 Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems
  • KT-57889 K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression
  • KT-57961 K2: Unresolved reference using dynamic lambda parameter
  • KT-57911 K2: Contracts are not inherited by substitution overrides
  • KT-57880 K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable
  • KT-57986 K2: NPE on building Space
  • KT-57873 K2: compiler FIR serialization crash on builder-style inference from lambda's return type
  • KT-57941 K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler
  • KT-57947 K2: Incorrect resolution results when property type for invokeExtension is not inferred
  • KT-58002 K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument
  • KT-57263 K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter
  • KT-56942 K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type
  • KT-56687 Unexpected behaviour with enum entries when using outdated stdlib
  • KT-56398 K2/MPP: compiler backend crash on inheritance from expected interface
  • KT-57806 K2: string interpolation as annotation parameter causes error
  • KT-57611 K2: Annotation arguments are not evaluated
  • KT-56190 [K2/N] Const initializers are not serialized to klib
  • KT-57843 K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation
  • KT-57350 FIR: deprecation diagnostic is not reported on a super class call
  • KT-57532 K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly
  • KT-57776 K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generation
  • KT-57769 [K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0
  • KT-57879 K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations
  • KT-57893 K1/K2 inconsistency on smart casts of internally visible properties in friend modules
  • KT-57876 K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class
  • KT-57839 K2: Compiler crash on lambda returning anonymous object with implemented lambda
  • KT-57822 K2: Can't refer to external interface from class literal
  • KT-57809 K2: No value passed for parameter of external class
  • KT-56383 Build intellij master with LV 1.9
  • KT-57735 K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with @PlatformDependent annotation when there is an empty linux target in project
  • KT-55056 Builder inference causes incorrect type inference result in related call
  • KT-57689 K2: Unresolved reference to nested typealias in KLIB
  • KT-57665 K2: incorrect resolution of dynamic type
  • KT-57381 K2/MPP/Native: impossible to override Any::equals with non-external function
  • KT-57654 K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation
  • KT-57662 K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and @Suppress is used
  • KT-57763 FirExtensionRegistrar extension point broken
  • KT-57312 K2: IR interpreter fails on string interpolation with const val from a klib involved
  • KT-57768 Don't decompile code to search for annotation arguments
  • KT-55628 Diagnostics for kotlin.concurrent.Volatile annotation applicability
  • KT-55860 K2. [CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function
  • KT-53491 K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error
  • KT-55804 K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted
  • KT-57682 K2: Incorrect composing of signatures for calls on dynamic types
  • KT-55405 K2: false-negative INVISIBLE_REFERENCE in import directives
  • KT-54781 K2: no error on unresolved import statement with more than one package
  • KT-57635 K2/MPP: Expect constructors are not considered as expect during metadata deserialization
  • KT-57376 K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native
  • KT-55902 K2: Support ImplicitIntegerCoercion annotation
  • KT-56577 Migrate Native KLIB ABI compatibility tests to K2
  • KT-56603 [K2/N] Segfault invoking fun from binary compatible klib
  • KT-57457 K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
  • KT-57568 K2: K2, Native reports overload resolution ambiguity
  • KT-57446 K2: Adapter function reference is not generated inside when expression
  • KT-54894 K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with @UnsafeVariance argument
  • KT-57001 K2 compilation fails due to nullabillity subtyping not working properly
  • KT-57271 Delay forbidding inference to an empty intersection to version 2.0
  • KT-57209 K2: type parameters are available in companion object scope
  • KT-50550 False positive NO_ELSE_IN_WHEN with annotated when branch condition
  • KT-57431 K2 MPP JS: Compiler crash on transitive common dependencies
  • KT-57456 K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object
  • KT-57583 K2/MPP/JS&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifier
  • KT-56336 [K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler error
  • KT-57556 K2: Rename error 'This API is not available after FIR'
  • KT-23447 Integer.toChar compiles to missing method
  • KT-46465 Deprecate and make open Number.toChar()
  • KT-49017 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-56119 BinaryVersion.isCompatible binary compatibility is broken
  • KT-57369 K2/MPP: supertypes established in actual-classifiers from other source sets are not visible
  • KT-55469 [K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not found
  • KT-57250 K2: the metadata is serialized for an expect class even if the actual class is present when compiling to klib
  • KT-56660 K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code
  • KT-55055 K1: Builder inference violates upper bound
  • KT-57316 Initialize Enum.entries eagerly: avoid using invokedynamics
  • KT-57491 Kotlin synthetic parameter looks ordinary
  • KT-56846 K2: incorrect line & symbol numbers in exception reporting
  • KT-56368 K2/MPP: compiler backend crash on missing actual declaration
  • KT-57104 K2: false-positive conflicting inherited JVM declarations error despite use of @JvmName in another module
  • KT-56747 [K2/N] Return type for lambda: (Any) -> Any which returns Unit is different for K1 and K2 and return statement is missing with K2
  • KT-57211 K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument
  • KT-57302 K2 fails with IllegalStateException on reading inherited property of Java enum
  • KT-57424 K2 IDE: "By now the annotations argument mapping should have been resolved" exception
  • KT-57241 K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments
  • KT-57210 K2 MPP: Support of arguments with dynamic type
  • KT-57182 K2 MPP: Actualization doesn't work for nested objects
  • KT-56344 K2: Implement correct errors reporting of IrActualizer
  • KT-54405 K2 compiler allows val redeclaration
  • KT-54531 [K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true
  • KT-56926 K2: incorrect line number generated for class constructor or method with default parameter when comment before
  • KT-56913 K2: Incorrect line numbers in overriden field getters and setters
  • KT-56982 K2: Incorrect line number start in when expression
  • KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
  • KT-57175 K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases
  • KT-25694 Fix reporting of uninitialized parameter in default values of parameters
  • KT-57198 K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters
  • KT-15470 Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok
  • KT-57179 FIR: preserve prefix increment behavior like in K1 by calling getter twice
  • KT-57405 K2. Function call ambiguity error when nullable String is passed to function with Spring @Nullable annotation in signature
  • KT-57284 K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type
  • KT-57221 K2: compiler FIR2IR crash on function's unavailable cached type parameter
  • KT-57036 Unresolved reference: with inferred type of class constructor with extension parameter
  • KT-56177 K2: FIR should not generate annotation on both property and parameter
  • KT-54990 NI: Type mismatch when encountering bounded type parameter and projections
  • KT-57065 K2: overload resolution ambiguity between type-aliased constructor and identically named function
  • KT-49653 Deprecate and remove Enum.declaringClass synthetic property
  • KT-57190 K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion
  • KT-57166 K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier
  • KT-55828 [K2/N]: Fix test fails in OPT mode : Internal compiler error: no implementation found ... when building itable/vtable
  • KT-56169 False negative deprecation warning about future inference error with builder inference
  • KT-56657 K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map)
  • KT-57105 K2: compiler codegen crash at property initialization in constructor after smartcast
  • KT-56379 K2: build tests for the Kotlin standard library
  • KT-56079 K2: build YouTrack 2022.3
  • KT-57092 K2: false-positive multiple inherited implementations error
  • KT-56696 K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization
  • KT-56354 K2/MPP: unresolved references to library entities
  • KT-57095 K2: false-positive lack of type arguments error on raw cast of Base<*> to Derived: Base<T?>
  • KT-56630 FIR: ClassCastException on compilation hierarchy with a raw type
  • KT-57171 K2: Implement bytecode tests
  • KT-57214 K2: compiler FIR crash on annotation usage before annotation class declaration
  • KT-57204 K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved
  • KT-57195 K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding
  • KT-56814 K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin
  • KT-54758 Deprecate ClassBuilderInterceptorExtension.interceptClassBuilderFactory and provide another method without dependency on K1
  • KT-57253 K2: clean up callable reference logic in FIR2IR
  • KT-56225 K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class
  • KT-56769 K2. Annotation applicability is ignored during compilation when there's use-site @target
  • KT-56616 K2: cannot infer Java array type properly
  • KT-57247 K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property
  • KT-57206 K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter
  • KT-56519 K2: Compiler crash on a function reference on companion receiver that inherits from outer class
  • KT-56506 K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability
  • KT-56877 K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description
  • KT-56863 K2: false-positive property initialization analysis errors after smartcast
  • KT-56864 K2: Unexpected behavior with default parameter inheritance and function reference
  • KT-56665 K2: false positive RECURSIVE_TYPEALIAS_EXPANSION
  • KT-53966 K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces
  • KT-56659 FIR: Increment operator on object leads to exception from resolve
  • KT-56771 FIR: Increment operator on qualified expressions leads to exception from resolve
  • KT-56759 K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode
  • KT-56548 K2: false positive overload resolution ambiguity for Java record constructor
  • KT-56476 K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site
  • KT-56138 K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type
  • KT-56448 K2: False-positive unsafe call due to incorrect inference of smartcasted type
  • KT-55966 K2: Not enough information to infer type variable K if smartcast is used
  • KT-57168 K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter
  • KT-56876 K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description
  • KT-57194 K2: overload resolution doesn't prioritize Double over Float
  • KT-57067 Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier
  • KT-56954 K2: function literals can be passed as arguments to parameters with kotlin.reflect function types
  • KT-55423 K2: Implement CONTRACT_NOT_ALLOWED
  • KT-56923 K2: no line number in bytecode when ASTORE exception in catch
  • KT-56829 K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments
  • KT-57029 Per-file caches fail on local inline function in an inline function
  • KT-57085 K2: @Suppress is sensitive to its argument's case
  • KT-57103 K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property
  • KT-57033 Make KtClassLiteralExpression stub based
  • KT-57035 Make KtCollectionLiteralExpression stub based
  • KT-40857 Invalid parameterized types for extension function on parameterized receiver when javaParameters=true
  • KT-56154 Compiler backend crash on reference to Java synthetic property from generic class
  • KT-56692 StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker
  • KT-55879 Modularized tests: fir.bench.language.version is used as API version, not language version
  • KT-51821 ClassCastException on anonymous fun interface implementation when unrelated vararg is used
  • KT-56820 K2: compiler FIR crash on Java field access after smartcast
  • KT-56579 [K2/N] IR actualizer crashed with K2 on expect annotation marked with @OptionalExpectation, without actual.
  • KT-56750 K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference
  • KT-55614 K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior
  • KT-30507 Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used
  • KT-56646 K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface
  • KT-56334 K2: can't call expected function with default arguments
  • KT-56514 K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS
  • KT-56522 K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS
  • KT-56910 Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress
  • KT-56542 K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call
  • KT-56861 FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error
  • KT-56234 K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter
  • KT-56722 K2: cannot resolve component call after smart cast
  • KT-56875 K2: isOperator flag is incorrectly set for java methods
  • KT-56714 K2: wrong argument mapping in DSL
  • KT-56723 K2: lambda accidentally returns Unit? instead of Unit
  • KT-55877 K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER"
  • KT-56386 K2: Make possible to access Java field which is shadowed by Kotlin invisible property`
  • KT-56862 Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency
  • KT-55088 JS, Native compilation fail with internal error on SomeEnum.entries reference when SomeEnum is from klib compiled with disabled EnumEntries language feature
  • KT-40904 No warning when declare actual in the same target (module) as expect
  • KT-56707 K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly
  • KT-56508 Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor
  • KT-56706 K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library
  • KT-56505 K2: Missing NO_EXPLICIT_VISIBILITY_IN_API_MODE errors on various declarations
  • KT-56682 K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property
  • KT-56678 K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer
  • KT-56612 K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument
  • KT-56445 K2: False-positive unresolved reference to callable reference to function with default argument
  • KT-55024 K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class
  • KT-55722 K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple)
  • KT-56563 Inference within if stops working when changing expected type from Any to a different type
  • KT-55936 K2: Support proper resolution of callable references as last statements in lambda
  • KT-45989 FIR: wrong callable reference type inferred
  • KT-55169 K2: False-negative NO_ELSE_IN_WHEN
  • KT-55932 K2. No compiler error when elvis operator returns not matched type
  • KT-53987 K2: False negative "TYPE_MISMATCH" with if statement return
  • KT-41038 NI: TYPE_MISMATCH when passing constructor of nested class
  • KT-42449 Can not resolve property for value of type Any even after casting type to a type with star projection
  • KT-52934 StackOverflow from PseudocodeTraverserKt.collectDataFromSubgraph with if inside finally
  • KT-52860 StackOverflowError when casting involving recursive generics and star projection
  • KT-52424 ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter
  • KT-52262 TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when
  • KT-52502 Forbid extension calls on inline functional parameters
  • KT-51045 SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null
  • KT-40480 [FIR] Support hasStableParameterName from metadata
  • KT-50134 NI: Type inference regression in java streams groupingBy
  • KT-50160 False positive "USELESS_CAST" caused by indexed access operator
  • KT-42715 Unable to use implicit lambda param it for overloaded methods
  • KT-49045 False positive USELESS_CAST in generic type with nullable type parameter
  • KT-49024 AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined
  • KT-48975 Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version
  • KT-47870 INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class
  • KT-47495 ReenteringLazyValueComputationException on invalid code
  • KT-47490 Missed diagnostic for incorrect callable reference in finally
  • KT-47484 "Recursion detected in a lazy value under LockBasedStorageManager" on invalid code
  • KT-46301 Combining branches with sealed interfaces in when breaks type inference
  • KT-44392 False negative: redundant nullability/not null check on cast with as operator
  • KT-43936 Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class
  • KT-43846 No smart cast when returning function closures with captured smart-cast variable
  • KT-43603 False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property
  • KT-43553 JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target
  • KT-42169 False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection
  • KT-42136 NI: False positive [USELESS_CAST] when list serves to create a mutable list
  • KT-41721 SAM conversion fails on varargs with type approximated to Nothing
  • KT-38288 Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument
  • KT-37490 NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected method
  • KT-37365 NPE from ReflectionReferencesGenerator.generateCallableReference with inner class function reference and wrong parenthesis
  • KT-36958 NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception)
  • KT-30756 No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement
  • KT-24737 Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference
  • KT-21463 Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection
  • KT-6822 Smart cast doesn't work inside local returned expression in lambda
  • KT-55840 Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR
  • KT-47815 JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function
  • KT-17817 No error reported on invalid LHS for class literal
  • KT-47373 Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal
  • KT-51143 Wrong Unit-requiring at if/when branch with stub types
  • KT-53671 False-positive diagnostic reported on OptIn annotation import from root package
  • KT-53494 Mistaken type inference in compound 'if' expression with nullability check and covariant type
  • KT-28668 "AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '[...]' in LHS of augmented assignment is used as an implementation for different SAM interfaces
  • KT-55931 Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call
  • KT-20223 Inline access check ignores operator calls to invoke()
  • KT-54478 @NoInfer causes CONFLICTING_OVERLOADS
  • KT-56472 K2: Add stack of all FIR elements to CheckerContext
  • KT-41126 [FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name
  • KT-54931 Annotations defined in nested classes cannot be instantiated directly
  • KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
  • KT-24901 No smart cast for when with early return
  • KT-53086 "Cannot access '' before superclass constructor has been called" with inner class secondary constructor
  • KT-55137 Callable references with conversion are incorrectly allowed to be promoted to KFunction
  • KT-30497 EXACTLY_ONCE contract doesn't work in a function with vararg parameter
  • KT-47074 Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize
  • KT-24503 Return-as-expression is allowed as this/super constructor parameter
  • KT-55379 False positive NO_ELSE_IN_WHEN with smartcast to Boolean
  • KT-47750 False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface
  • KT-53819 False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class
  • KT-56457 JVM: Enum.entries are not annotated with @NotNull
  • KT-56072 K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for is already bound" when trying to access java synthetic property of inherited class
  • KT-50082 Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class
  • KT-55822 False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members
  • KT-55666 K2: label on local function is rejected: "Target label does not denote a function"
  • KT-56283 False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart cast
  • KT-51969 [FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for [declaration] is already bound"
  • KT-56329 K2: compiler backend crash on two expected functions with similar signatures
  • KT-56361 K2/MPP: receiver isn't available in lambda literals with receiver
  • KT-55295 K2/MPP: JS build functionality
  • KT-55909 [K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass
  • KT-55664 K2: eliminate ClassId.isSame call from FirClass.isSubclassOf
  • KT-56353 K2. False negative "Unresolved reference" in default value of secondary constructor's parameter
  • KT-56381 K2: Function type kind not extracted from lambda literal in generic call
  • KT-55747 K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing
  • KT-56104 Unnecessary inner classes attributes in class files for subclasses
  • KT-55570 K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class
  • KT-56176 [K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias
  • KT-56229 K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario
  • KT-56199 K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload
  • KT-56212 K2: Exception when compiling extension function declaration with illegally chained type parameter receiver
  • KT-55503 K2: "Argument type mismatch" caused by using the wrong "this"
  • KT-56050 K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter
  • KT-49663 FIR: Support @kotlin.jvm.PurelyImplements for java collections
  • KT-55468 [K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT
  • KT-56269 [K2/N] Don't test "Tailrec is not allowed on open members" in K2
  • KT-54647 K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral
  • KT-54648 K2: Function call on left side of erroneous assignment isn't resolved
  • KT-55699 K2. False Negative "Type parameter T is not an expression"
  • KT-56132 Restore 'JvmBackendContext' constructor signature for compatibility
  • KT-55973 K2: Exception from UnusedChecker on an unused destructuring
  • KT-56275 K2 IDE: Missed error for enum super type
  • KT-54775 K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl " exception on incorrect code
  • KT-55528 K2: CFA for property initialization analysis is not run for class initialization graphs
  • KT-54410 K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language feature
  • KT-55186 K2: No compilation error on calling exception without constructor
  • KT-36776 Treat special constructions (if, when, try) as a usual calls when there is expected type
  • KT-50947 False negative: FE 1.0 doesn't report type variance conflict error on an inner type
  • KT-39041 Collection literals should not be allowed inside annotation classes
  • KT-54694 Consider enabling BooleanElvisBoundSmartCasts in K1 or K2
  • KT-54587 K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class
  • KT-52774 Resolve unqualified enum constants based on expected type
Docs & Examples
  • KT-53643 Update coding style conventions to include rangeUntil operator
  • KT-57902 Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin
  • KT-58381 [Docs][Libraries] Document Path.createParentDirectories
IDE
Performance Improvements
  • KTIJ-23501 Make main run configuration detection lighter
  • KT-56613 Reduce memory consumption of light classes
Fixes
  • KT-57849 K2: contract violation due to implicit java type with annotation
  • KT-57857 LC: FakeFileForLightClass: Read access is allowed from inside read-action
  • KT-57578 SLC: incorrect upper bound wildcards
  • KT-57917 Analysis API: decompiled value parameters are not resolved
  • KT-56046 K2 IDE: Avoid redundant resolve from annotations
  • KT-57569 SLC: incorrect visibility for lateinit var with private setter
  • KT-57547 SLC: non-last vararg value parameter type mismatch
  • KT-57548 SLC: incorrect inheritance list for Comparator
  • KT-56843 Light classes: certain kinds of constant values in property initializers aren't supported
  • KT-56868 SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers
  • KT-56833 Light classes: Accessors to lateinit properties don't have @NotNull annotations
  • KT-56845 Light classes: Overridden property accessors don't have @Override annotation
  • KT-56441 K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully
  • KT-56891 Symbol Classes: DefaultImpls classes contain methods without default implementation
  • KT-56842 Light Classes: Primitive-backed context receiver parameters shouldn't be marked with @NotNull
  • KT-56835 Light classes: Underlying fields for delegated properties should be marked as final and @NotNull
  • KT-56840 Light Classes: Inline classes backed by Java primitives shouldn't be marked with @NotNull
  • KT-56728 K2 IDE. False positive not applicable to for kotlin annotation with target annotating Java element
  • KT-55815 SLC: Keep annotations on type when converting to PsiType
  • KT-55669 K2 IDE: INRE from light classes
IDE. Completion
  • KTIJ-25108 K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed()
  • KTIJ-24989 K2 IDE: completion should show information about expanded types for type alias parameters
  • KTIJ-24992 K2 IDE: completion shows return type with incorrect nullability when type is stub type
  • KTIJ-24948 K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors
  • KTIJ-24256 K2 IDE: Angle brackets are missing in completion of function with type parameters
  • KTIJ-24083 K2, Completion: Exception on adding a type parameter receiver to a function
  • KTIJ-23963 K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override"
  • KTIJ-22359 K2 IDE: no completion for Java synthetic properties from super class
  • KTIJ-23880 Completion doesn't work for Java synthetic property reference
IDE. Decompiler, Indexing, Stubs
  • KTIJ-25152 Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR
  • KTIJ-24475 Migrate kotlin index extension implementation from object to classes
  • KTIJ-24335 Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider
  • KTIJ-24206 Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function
  • KTIJ-15764 IR by default in Kotlin bytecode tool window
IDE. Gradle Integration
  • KT-59034 MPP build failed with "Factory type is not known for plugin variants" in kt-231-*
  • KT-56671 KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names
  • KTIJ-24573 KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host
  • KTIJ-25757 KJS: 1.9.0-Beta fails to run when running in Android Studio
  • KTIJ-24701 KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency
  • KTIJ-24745 IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import
  • KTIJ-24567 Enable KGP dependency resolution by default
  • KTIJ-24729 KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import
  • KTIJ-11978 IDE does not recognize the sources JAR of a published to mavenLocal MPP library
IDE. Inspections and Intentions
  • KTIJ-24684 K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function
  • KTIJ-24662 K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface
  • KTIJ-25232 K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property
  • KTIJ-25447 Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable
  • KTIJ-23588 K2 IDE. False positive unused import directive for extension function of an object
  • KTIJ-25112 K2 IDE: False positive "Actual value of parameter 'b' is always 'null'"
  • KTIJ-24485 Explicit API mode: false positive "redundant 'public' modifier"
  • KTIJ-24453 Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration
IDE. JS
  • KT-58427 Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources
IDE. Libraries
  • KTIJ-25096 K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches
  • KTIJ-24413 Cannot navigate to enum of the Kotlin library via entries call
IDE. Multiplatform
  • KTIJ-25859 MPP: Library wizard with android target uses deprecated androidTest source set
  • KTIJ-25479 Compiler options is not imported correctly for js source sets
  • KTIJ-24011 MPP: Native tests are missing run gutters
JavaScript
New Features
  • KT-12784 JS: generate ES2015 compatible modules
  • KT-48154 KJS / IR: Inline members support for external types
  • KT-51582 FIR: support basic compile-time evaluation for JS backend
Fixes
  • KT-43490 KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable
  • KT-57690 K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747[0]. Neither the module itself nor its dependencies contain such declaration
  • KT-56911 K2/MPP: Compile K/JS fails for @Serializable annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl
  • KT-56950 Support KLIB IC with K2
  • KT-58570 KJS: ES6 classes + PL throw java.lang.NullPointerException
  • KT-58835 K2/JS: Fix incremental compilation klib tests
  • KT-58794 KJS / K2: Assertion failed with Space build
  • KT-51706 Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails
  • KT-54452 Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them
  • KT-53180 Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order
  • KT-39650 KJS IR: provide a way to enable ES2015 class generation
  • KT-57990 KJS/IR. Invalid super call for final parent methods (ES classes)
  • KT-58246 KJS: ES15 classses — duplicated code in class constructor
  • KT-57479 KJS: Add an annotation for a function parameter which checks that a passed argument has an external type
  • KT-58201 Unknown statement type when building with ES modules
  • KT-30810 values and valueOf are miscompiled for external enum classes
  • KT-57024 Ugly TypeScript definitions for declarations with both @JsExport and @Serializable
  • KT-56237 KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code
  • KT-54638 K2/JS: Fir2ir - implement and use JS-specific mangler
  • KT-54028 Native / JS: Using private object implementing a sealed interface causes a linker error
  • KT-57423 KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects
  • KT-57711 K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB
  • KT-57078 JS IC: Unbound symbol left in SymbolTable in JsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance tests
  • KT-57254 Deprecate external enum declarations
  • KT-57002 KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant
  • KT-56961 JS IR: serializedIrFileFingerprints in klib manifest has a wrong format
  • KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
KMM Plugin
  • KT-55402 "Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods
  • KT-55988 KN debugger in KMM plugin for Android Studio can't recognize the source code
Language Design
New Features
  • KT-48872 Provide modern and performant replacement for Enum.values()
  • KT-15613 Introduce special syntax for the until operator
  • KT-4107 Design and implement a solution for toString, equals and hashCode on objects (data object)
Fixes
  • KT-28850 Prohibit protected visibility in final expected classes
  • KT-39362 Expect fun interface must have actual fun interface counterpart
  • KT-48994 Prohibit type unsound java fields assignments
  • KT-58791 Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x
  • KT-53778 Release stdlib API about "rangeUntil" operator in 1.9
  • KT-53653 Export Enum.entries to Objective-C and Swift
  • KT-55177 Deprecate declaration of expect and actual counterparts of same class in one module
  • KT-49110 Prohibit access to members of companion of enum class from initializers of entries of this enum
  • KT-47986 Forbid implicit inferring a type variable into an upper bound in the builder inference context
  • KT-57395 Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0
  • KT-55082 Bump KLib version for Enum.entries
  • KT-49264 Deprecate infix function calls of functions named "suspend" with dangling function literal
Libraries
New Features
  • KT-58046 Stabilize remaining kotlin.time API: time sources, time marks, measureTime
  • KT-58074 Stabilization of Atomics API in K/N
  • KT-55268 Mutiplatform @Volatile annotation
  • KT-51908 Provide common function for getting regex capture group by name
  • KT-53263 Path.createParentDirectories
  • KT-7637 Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...)
  • KT-40728 Add AssertionError constructor with cause: Throwable parameter to common stdlib
  • KT-57298 Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink
Performance Improvements
  • KT-54739 build method in collection builders (Set, Map, List) should return a single instance for empty collections
  • KT-42589 Provide common listOf(value) overload to avoid allocation of the vararg
  • KT-55091 Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice
  • KT-57617 Optimize ReversedListReadOnly iterator
  • KT-57607 KJS: Bad performance for ArrayList.addAll
Fixes
  • KT-58841 Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property
  • KT-57728 Explicitly specify level of stability of programmatically-accessible interoperability API
  • KT-58985 Update KClass.isData KDoc
  • KT-57762 Introduce HexFormat for formatting and parsing hexadecimals
  • KT-55612 Stabilize experimental API for 1.9
  • KT-58548 Stabilize standard library API for Enum.entries
  • KT-56400 Disable compilation of atomicfu-runtime with legacy JS backend
  • KT-58276 Deprecate redundant public declarations in kotlin.native.concurrent
  • KT-35973 Extract org.w3c declarations from stdlib-js
  • KT-58073 JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2
  • KT-57317 Repack EnumEntries from stdlib into the compiler
  • KT-54702 Native: mark Worker and related APIs as obsolete
  • KT-55610 Deprecate kotlin.jvm.Volatile annotation in platforms except JVM
  • KT-57404 Native: Support AnnotationTarget.TYPE_PARAMETER
  • KT-57318 Change EnumEntries stdlib implementation to be eager
  • KT-57137 Native: Consider removing ArrayAsList
  • KT-56661 Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar
  • KT-51579 PlatformImplementations loading is not compatible with graalvm native-image --no-fallback
Native
  • KT-54098 Decommission and remove 'enableEndorsedLibs' flag from Gradle setup
  • KT-52594 Provide Alpha support for Native in the K2 platform
  • KT-56071 K2/MPP: Native build functionality
  • KT-56218 [K2/N] Receiver annotations for properties are not serialized
  • KT-56326 [K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializer
  • KT-27002 lateinit intrinsics frontend checkers aren't applied on Native
Native. Build Infrastructure
  • KT-58160 Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)'
Native. C and ObjC Import
  • KT-54610 Kotlin Native can't call objc_direct functions
  • KT-57918 [K2/N] Support typealiases in FirClassSymbol<*>.selfOrAnySuperClass()
  • KT-58651 Native c-interop tool generates broken @Deprecated annotations
  • KT-57541 Compilation fails without explicit cast on cinterop code
  • KT-54805 KMP ios memory leak when using CA Layer
  • KT-57490 [K/N] Duplicate package names for cinterop klibs with objc protocols fails to link
Native. ObjC Export
  • KT-58839 K/N: Exception during HiddenFromObjC marked class extension function compiling
  • KT-56464 K/N: Allow HiddenFromObjC for classes
  • KT-57507 K2: Set of Objc exported declarations is different between K1 and K2
Native. Runtime
  • KT-58441 Kotlin/Native: @ObjCAction @ObjCOutlet generate bridges without switching state
  • KT-57091 Align Native and Java file/class initialization behavior
Native. Runtime. Memory
  • KT-56233 [Kotlin/Native] Crash when enum values are accessed in multiple threads
  • KT-58130 Implement preview of custom allocator for Kotlin/Native
  • KT-56402 Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread
Native. Stdlib
  • KT-57344 Try to remove strange .equals overload on primitive types
  • KT-57592 Native: Remove the default parameter value for AtomicLong constructor
Native. Testing
  • KT-57349 Enable more K2 MPP codegen/box tests for Kotlin/Native
  • KT-57026 K2: Fix Native test infrastructure for MPP
Reflection
  • KT-54833 Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects
  • KT-56650 ArrayStoreException from InlineClassAwareCaller.call with an array of inline class
  • KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
  • KT-55937 Optimize implementation of kotlinFunction/kotlinProperty
Tools. CLI
  • KT-57495 Add JVM target bytecode version 20
  • KT-57154 Incorrect version of JDK is provided through CoreJrtFs
  • KT-56209 Add CLI support for HMPP in K2
  • KT-58351 Confusing error message when using removed -Xjvm-default mode value
  • KT-57535 K2: Kotlin command line compiler doesn't see class files on the class path in 2.0
  • KT-57644 K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler
  • KT-56351 Reduce memory usage spent on compiler settings
Tools. Commonizer
  • KT-57796 NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
  • KT-56207 Investigate failing tests in ClassifierCommonizationFromSourcesTest
Tools. Compiler Plugins
Fixes
  • KT-57821 K2: Compiler calls declaration generation plugins twice for classes in the common source set
  • KT-57406 FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations
  • KT-57626 K2: SERIALIZER_NOT_FOUND for serializable class from another module
  • KT-57400 FIR Compiler Plugins: annotated predicate does not work with Java classes
  • KT-57140 K2: Implement backwards compatibility for FirFunctionTypeKindExtension
  • KT-56685 K2: ArrayIndexOfBound during session creation if compiler plugins are enabled
  • KT-55375 Remove "legacy" mode of jvm-abi-gen plugin
  • KT-53470 FIR: pass MemberGenerationContext to all methods of FirDeclarationGenerationExtension
  • KT-51092 Lombok @Value causes IllegalAccessError
  • KT-55885 K2 plugin API: Backend-only declarations are not visible from other modules
  • KT-55584 K2: Improve registration of session components from compiler plugins
  • KT-55843 FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well
  • KT-53874 Optimize checking for plugin applicability and redesign DeclarationPredicates
Tools. Compiler plugins. Serialization
Fixes
  • KT-58954 Serialization: NPE at run time when accessing a delegating property of a deserialized object
  • KT-56537 Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization
  • KT-58918 Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property
  • KT-59113 Serialization: NPE at run time when accessing a delegating property of a deserialized object
  • KT-57647 Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class
  • KT-57704 K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class
  • KT-57083 K2/serialization: can't resolve serializers for classes from other modules
  • KT-56480 K2: false-positive warning about incompatible serializer type when using type aliases
  • KT-56594 K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types
  • KT-56553 Support 'serialization plugin intrinsics' feature in K2
  • KT-56244 kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
Tools. Daemon
  • KT-50846 Remove "new" Kotlin daemon from codebase
Tools. Gradle
New Features
  • KT-56971 Expose jvmTargetValidationMode property in KotlinCompile Gradle task
  • KT-57159 Add project level compiler options for Kotlin/JVM plugin
Performance Improvements
  • KT-57052 Gradle: Stop using exceptions for flow control
  • KT-57757 Reduce classpath snapshotter memory consumption
  • KT-56052 Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation
Fixes
  • KT-55624 Update KGP integration tests that use removed in Gradle 8 getClassifier method
  • KT-59589 Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript
  • KT-59063 Explicit API mode broken in Kotlin 1.9.0-Beta
  • KT-57653 Explicit API mode is not enabled when free compiler arguments are specified in Gradle project
  • KT-59256 [1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project
  • KT-58662 Gradle 8.1 + Configuration Cache: custom values data is missing from build report
  • KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
  • KT-59191 Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash
  • KT-56211 Improve Kotlin build reports
  • KT-57767 Gradle: "ZipException: invalid entry size" with 1.8.20
  • KT-57736 K2: Introduce an easy way to try K2 compiler in Gradle user projects
  • KT-59056 FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options
  • KT-55740 Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated
  • KT-37652 Support explicit mode for Android projects
  • KT-58251 Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+
  • KT-57224 Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code
  • KT-58571 ExplicitApi mode should not apply for test compilations
  • KT-42718 Test and AndroidTest sources should be excluded from explicit API requirements for libraries
  • KT-58916 [1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API
  • KT-58869 K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"
  • KT-52811 Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version
  • KT-57330 Provide collection of usage statistics for the Dokka
  • KT-57393 jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value
  • KT-58745 KaptGenerateStubs task should also be configured with the same compiler plugin options
  • KT-58682 Explicit api mode does not apply in MPP projects
  • KT-52976 Remove deprecated Gradle conventions usages
  • KT-58530 Compiler plugin unbundling changes should be backward compatible with Kotlin plugin
  • KT-36904 Adding folders to sourceSets.resources.srcDir() in Gradle script does not work
  • KT-58313 An exception in console if no task is executed and file build reports are enabled
  • KT-58619 Move all pm20 interfaces into Gradle plugin codebase
  • KT-58320 Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself
  • KT-53923 Add 'progressive' compiler argument to Gradle compiler options
  • KT-53924 Add 'optIn' compiler arguments to Gradle compiler options
  • KT-53748 Remove KotlinCompile setClasspath/getClasspath methods
  • KT-56454 Bump minimal support AGP version to 4.2.2
  • KT-57397 Add infrastructure to use the build-tools-api to run compilation from Gradle
  • KT-56946 Switch incremental Gradle tests for K2 to use language version 2.0
  • KT-57782 Disable daemon fallback strategy for Gradle integration tests by default
  • KT-57142 Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files
  • KT-54447 Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API
  • KT-49785 Avoid creating task output backups until really needed
  • KT-56047 False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error
  • KT-56421 Gradle: plugin should not use BasePluginExtension deprecated properties
  • KT-55241 Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily
  • KT-56357 Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories
  • KT-56352 Make build scan reports more readable
  • KT-55972 Gradle: Add an assertion to all integration tests if warningMode is not FAIL, but the build doesn't produce any warnings
Tools. Gradle. Cocoapods
  • KT-38749 Support reusing generated C-interop between dependant pods
  • KT-54161 Support adding extra code to generated Podfile from the Kotlin gradle plugin
  • KT-56162 Provide granular Gradle warnings suppression for CocoaPodsIT
Tools. Gradle. JS
New Features
  • KT-48791 KJS: Support for Power(ppc64le) and Z(s390x)
  • KT-32209 org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName
  • KT-52646 KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning
  • KT-52647 KJS / Gradle: Make "Projects must be configuring" a warning
  • KT-56158 KJS: Support implementation dependencies
Fixes
  • KT-59604 Unresolved reference: useKarma in convention plugin
  • KT-57604 JS, Space: Circular dependency between tasks
  • KT-59116 K/JS npm dependcies are not resolved properly on Kotlin 1.9
  • KT-54731 KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc
  • KT-58970 browserTest gradle task fails if karma is used and gradle configuration cache is enabled
  • KT-59004 Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project
  • KT-56458 KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated from YarnImportedPackagesVersionResolver
  • KT-57985 K/JS: packageJson Gradle configurations don't inherit unique attributes from JsTarget DSL
  • KT-57817 JS: executables for couple of JS targets builds in the same directory
  • KT-58199 K/JS: Remove useCoverage method
  • KT-57116 KJS / Gradle: commonWebpackConfig not applied if called after binaries.executable()
  • KT-58522 K/JS: Upgrade NPM dependency versions
  • KT-57629 K/JS: Change default destination of JS production distribution
  • KT-57480 K/JS: Use IR compiler by default without explicit choosing of js compiler
  • KT-58345 K/JS: Webpack task skipped with ES modules because files have mjs extension
  • KT-58071 KJS / Gradle: jsNodeTest task is not incremental
  • KT-43809 KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory
  • KT-56690 Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths
  • KT-57920 K/JS: Make imported NPM package not considering dev dependencies
  • KT-56025 KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync
  • KT-57630 K/JS: webpack updating twice on one change of kt sources
  • KT-47351 KJS / IR: :jsTestPackageJson is unable to find nested included builds under composite build
  • KT-44754 K/JS: browserRun --continuous keeps rebuilding without any changes
  • KT-49774 KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed"
  • KT-57387 Remove support of webpack 4
  • KT-57386 Kotlin/JS upgrade npm dependencies
  • KT-56705 KJS / Gradle: Module name starting with '@​' isn't properly set when FUS is disabled
  • KT-46428 KJS / IR: Composing build failed "Failed to create MD5 hash for package.json"
  • KT-53687 Don't trigger npm and yarn related tasks if it not relevant for assemble
  • KT-49915 KJS / Gradle: Gradle build cache miss because of absolute path in KotlinJsIrLink.filteredArgumentsMap
  • KT-56192 KJS: In browser testing no original sources in stacktrace
  • KT-42395 Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null
  • KT-43305 Support Node.JS downloading for Ubuntu
  • KT-48631 KJS: Unconditionally uses linux/x86 binaries
  • KT-38015 NodeJS installation does not extract symlinks correctly (npm and npx)
Tools. Gradle. Multiplatform
New Features
  • KT-34662 Provide an option for Android targets to compile & run commonTest tests as unit tests only, instrumented tests only, or both
  • KT-55881 Add possibility to enable/disable sources publication similar to Java Gradle Plugin API
Fixes
  • KT-59446 MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet
  • KT-55751 MPP / Gradle: Consumable configurations must have unique attributes
  • KT-57688 MPP: compileDebugKotlinAndroid task fails with llegalArgumentException: 'moduleName' is null!
  • KT-56210 Pass module structure to CLI of K2 if K2 enabled
  • KT-57531 KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints)
  • KT-58281 Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default
  • KT-57903 Prepare for migration to the pluggable android target plugin
  • KT-49933 Support Gradle Configuration caching with HMPP
  • KT-58661 KGP: KotlinJvmTarget: Implement 'run' carrier task
  • KT-59055 KotlinJvmRun not respecting jvmToolchain setting
  • KT-57959 Module-name value can't be changed for the android target of a multiplatform project
  • KT-55506 TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets
  • KT-57652 Don't expose sourcesElements for project2project dependencies
  • KT-58601 Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release
  • KT-58710 External Target Api: Add API to control SourceSetTree
  • KT-58488 Add a diagnostic message to KGP in case of val androidTest by getting usage
  • KT-57482 cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0
  • KT-58062 Commonizer configuration cache not compatible with Gradle 8.1
  • KT-58086 Warn about using MPP libraries published in the legacy mode
  • KT-56439 TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations
  • KT-57023 Cryptic Gradle task descriptions for compile tasks
  • KT-58470 Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set
  • KT-58466 K2 Gradle: non *.kt files are passed to -Xfragment-sources
  • KT-58319 kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'"
  • KT-51940 HMPP resolves configurations during configuration
  • KT-58261 Link kotlin native binary framework tasks fails when configuration cache is enabled
  • KT-41506 UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target
  • KT-58209 Do not use the term 'Module' in KotlinTargetHierarchy
  • KT-56153 When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully
  • KT-56571 New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules
  • KT-56712 Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class *MppDependencyProjectStructureMetadataExtractorFactory
  • KT-56461 MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies
  • KT-56841 MPP: Module-to-module dependencies don't work inside included build in included build
  • KT-42748 Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly
  • KT-52356 MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application
  • KT-51293 Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set
  • KT-56700 V2 MPP Source Set layout warnings should include link to docs
  • KT-55926 TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget
  • KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
  • KT-58838 KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)
  • KT-57823 KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations
  • KT-57815 KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {}
  • KT-57944 K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources
  • KT-53108 Expose Kotlin/Native compiler options as Gradle DSL
  • KT-58063 Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1
  • KT-38317 Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag
  • KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Incremental Compile
  • KT-58289 IC fails to detect a change to class annotations
  • KT-58986 New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"
  • KT-56197 If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build
  • KT-56886 K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful
Tools. Kapt
  • KT-54468 KAPT Gradle plugin causes eager task creation
  • KT-59521 Kapt maven plugin require version of annotation processor
  • KT-58301 K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module
  • KT-57598 K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0
  • KT-58226 KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor
Tools. Maven
  • KTIJ-25445 Maven. JVM target is imported as 1.6 when no target specified in pom.xml
Tools. Parcelize
  • KT-59112 K2: "IllegalStateException: Function has no body with @Parcelize" on nested sealed class hierarchies
Tools. Scripts
  • KT-58366 The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation
Tools. Wasm
  • KT-56585 Change wasmBrowserRun Browser Executable to System Default
  • KT-56159 Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm"
  • KT-57203 Update Kotlin/Wasm to support Gradle 8
Checksums
File Sha256
kotlin-compiler-1.9.0.zip 1fc50d805f9809e92de43e91f089cc8618567c1a350faebdabf8a40c5048bee8
kotlin-native-linux-x86_64-1.9.0.tar.gz 18bd17e7541baef5ace0303ee463f4185c2d56369382f1b9822ece7215b2a8ec
kotlin-native-macos-x86_64-1.9.0.tar.gz 9ca355eacfb2986cfd2e579831ac4932df6d5f8a6cbaccc553875f8f0d884226
kotlin-native-macos-aarch64-1.9.0.tar.gz 5086850c7118a0141d55e8427efa4a9e76f1201f4d4d97a137d4732f4efd481c
kotlin-native-windows-x86_64-1.9.0.zip 989cb5cb28da87ad0ae2a9469dbbce227165014217ec472eeb78468045dcb766

v1.8.22: Kotlin 1.8.22

Changelog
Tools. Gradle
  • KT-58280 org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Checksums
File Sha256
kotlin-compiler-1.8.22.zip 91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6
kotlin-native-linux-x86_64-1.8.22.tar.gz a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b
kotlin-native-macos-x86_64-1.8.22.tar.gz 0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d
kotlin-native-macos-aarch64-1.8.22.tar.gz 29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417
kotlin-native-windows-x86_64-1.8.22.zip 91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5

v1.8.21: Kotlin 1.8.21

Changelog
Compiler
  • KT-57848 Native: compilation of dynamic/static library fails with Xcode 14.3
  • KT-57875 Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA
  • KT-57946 KAPT: "RuntimeException: No type for expression" with delegate
JavaScript
  • KT-57356 KJS: StackOverflowException on @JsExport with type parameters referring to one another
Tools. Commonizer
  • KT-57796 NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
Tools. Compiler plugins. Serialization
  • KT-58067 Serialization: NullPointerException caused by @Contextual property with type with generic
  • KT-57730 Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
Tools. Gradle. JS
  • KT-57766 KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
Tools. Kapt
  • KT-58027 Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
Tools. Maven
  • KT-58048 Maven: "Too many source module declarations found" after upgrading to 1.8.20
  • KT-58101 'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20
Checksums
File Sha256
kotlin-compiler-1.8.21.zip 6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7
kotlin-native-linux-x86_64-1.8.21.tar.gz 0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf
kotlin-native-macos-x86_64-1.8.21.tar.gz e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6
kotlin-native-macos-aarch64-1.8.21.tar.gz 0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b
kotlin-native-windows-x86_64-1.8.21.zip f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d

v1.8.20: Kotlin 1.8.20

Changelog
Analysis API
  • KT-55510 K2: Lost designation for local classes
  • KT-55191 AA: add an API to compare symbol pointers
  • KT-55487 K2: symbol pointer restoring doesn't work for static members
  • KT-55336 K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
  • KT-55098 AA: KtDeclarationRenderer should render a context receivers
  • KT-51181 LL API: errors for SAM with suspend function from another module
  • KT-50250 Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
  • KT-54360 KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
  • KT-55825 AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
  • KT-54311 K2: proper implementation of KtSymbolPointer
  • KT-50238 Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
  • KT-52160 FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped
  • KT-55566 LL FIR: Tests in compiler/testData/diagnostics/tests/testsWithJava17 fail under LL FIR
  • KT-55339 LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias
  • KT-55327 LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test
  • KT-54826 KtSymbolPointer: migrate from IdSignature to our own solution
Android
  • KT-54464 MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
  • KT-38924 Wasm support in nodejs
  • KT-56160 Getting WebAssembly.CompileError in browsers not supported GC and other required proposals
  • KT-46773 Implement an experimental version of the Kotlin/Wasm compiler backend
  • KT-56584 K/Wasm: Can't link symbol class
  • KT-56166 Fix compatibility with Firefox Nightly
  • KT-55589 Basic support of WASI
  • KT-53790 Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
  • KT-54535 Implement custom equals and hashCode for value classes in Kotlin/JVM
  • KT-55949 Release experimental @Volatile support in native
  • KT-44698 Frontend (K2): print file name/line on compiler crash/exception
  • KT-54666 K2: Allow to skip specifying type arguments for members from raw type scope
  • KT-54524 Implement Java synthetic property references in compiler
  • KT-54024 K2: support -Xlink-via-signatures mode
Performance Improvements
  • KT-33722 JVM: Result API causes unnecessary boxing
  • KT-53330 Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backends
  • KT-54415 JVM BE: performance loss related to multi-field inline class lowering
  • KT-48759 Infix compareTo boxes inline classes
  • KT-55033 Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function
  • KT-54501 Improve code generation for inline classes with custom equals
Fixes
  • KT-56965 K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]
  • KT-56611 Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle
  • KT-55251 Enum.entries compilation error should be more specific
  • KT-56527 K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder
  • KT-56526 InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20
  • KT-57388 Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property
  • KT-53153 Synthetic Enum.entries can be shadowed by user-defined declarations
  • KT-51290 "AssertionError: Parameter indices mismatch at context" with context receivers
  • KT-57242 Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC
  • KT-57261 "IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance
  • KT-57107 Handling of Windows line endings CRLF broken in latest snapshot with K2
  • KT-57117 K2: Compiler reports invalid columns in diagnostics in case of crlf line endings
  • KT-56500 The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA
  • KT-56258 VerifyError: Bad local variable type when using -Xdebug
  • KT-54455 Unexpected result of equality comparison of inline class objects
  • KT-56251 Generic Java synthetic property references don't work in K2
  • KT-55886 K2: Wrong code location mapping with Windows line endings
  • KT-43296 FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic
  • KT-57053 Problem around anonymous objects in inline functions
  • KT-54950 NoSuchMethodError on calling 'addAll' on inline class implementing mutable list
  • KT-56815 compileKotlin task is stuck with while(true) and suspend function
  • KT-56847 Unresolved reference to Java annotation in Kotlin class with the same name packages
  • KT-52459 Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses
  • KT-56215 JVM: Object extension function nullable receiver null check false negative when object is null
  • KT-56188 K/N: AssertionError when casting SAM wrapper with generic type parameter
  • KT-56033 Restore 'isMostPreciseContravariantArgument' function signature for compatibility
  • KT-56407 Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlin
  • KT-55887 K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa
  • KT-56701 K2 (with LightTree) reports syntax errors without additional information
  • KT-56649 K2 uses 0-index for line numbers rather than 1-index
  • KT-54807 K2. Support @OnlyInputTypes diagnostic checks (contains like calls)
  • KT-51247 "AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types
  • KT-55436 K1: implement warning about shadowing of the derived property by the base class field
  • KT-56521 Static scope initializers sometimes not called when first accessed from interop
  • KT-49182 Strange cast from Unit to String
  • KT-55288 False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier
  • KT-33132 Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass
  • KT-56061 K1 does not report error on inconsistent synthetic property assignment
  • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
  • KT-55125 Difference in generated bytecode for open suspend functions of generic classes
  • KT-54140 SOE at IrBasedDescriptorsKt.makeKotlinType with mixing recursive definitely not nullable type with nullability
  • KT-56224 Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies
  • KT-54662 K2: Assign operator ambiguity on synthetic property from java
  • KT-54507 K2: Wrong implicitModality for interface in FirHelpers
  • KT-55912 "UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by kotlin fqn in annotation
  • KT-56018 [K2/N] Fir2Ir does not take value parameters annotations from FIR to IR
  • KT-56091 [K2/N] Fix various property annotations
  • KT-54209 K2: false positive deprecation on a class literal with deprecated companion
  • KT-55977 [K2/N] Suspend function reference type is wrongly serialized to klib
  • KT-55493 K2: False-negative VAL_REASSIGNMENT
  • KT-55372 K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class
  • KT-55371 K2: compiled code fails trying to call static method of package-private Java grandparent class
  • KT-55408 K2: can't access indirectly inherited from a package-private class Java members through a type alias
  • KT-55116 K2: store static qualifiers in dispatch receiver field
  • KT-55996 K2: cannot switch the light tree mode off with -Xuse-fir-lt=false
  • KT-55368 K2/MPP: Metadata compiler
  • KT-54305 K1: implement warning "synthetic setter projected out"
  • KT-52027 "NullPointerException" when using context receivers with inline fun
  • KT-55984 Stack allocated array is not cleaned between loop iterations
  • KT-52593 Provide Alpha support for JS in the K2 platform
  • KT-54656 NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter
  • KT-56015 Remove unnecessary stack traces for special checks for ObjC interop
  • KT-55606 K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class
  • KT-53884 K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class
  • KT-54502 Synthetic extensions on raw types work differently from regular getter calls
  • KT-49351 FIR: Raw type scopes are unsupported
  • KT-49345 FIR: Properly support raw types in type parameter upper bounds
  • KT-55733 K2. Reference resolve works incorrectly for classes declared through typealias
  • KT-46369 FIR: Investigate raw types for arrays
  • KT-41794 [FIR] Implement raw type based scope
  • KT-55181 K2. No compilation error on throwing not throwable
  • KT-55398 Kotlin inline nested inline lambda's inline variable will inline not correctly
  • KT-55359 K2. No error when secondary constructor does not delegate to primary one
  • KT-55759 K2: Unresolved reference of serializer if library linking is used (with kotlinx.serialization plugin)
  • KT-54705 Kotlin scripting doesn't support files with UTF-8 BOM
  • KT-51753 FIR: various errors due to expect/actual mapping absence in translator
  • KT-44515 FIR DFA: extract non-null info from anonymous object's initialization
  • KT-55018 K2 / serialization: FIR2IR fails on local companion
  • KT-55284 Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)
  • KT-55693 K2. Type inference changed in k2
  • KT-54742 K2: lambda with conditional bare return inferred to return Any, not Unit
  • KT-54332 Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404
  • KT-55509 Invisible fake overrides are listed among lazy IR class members
  • KT-55597 K2. This type has a constructor, and thus must be initialized here error is missed for anonymous object inherits class with no-arg constructor
  • KT-54357 "ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver
  • KT-51397 "VerifyError: Bad type on operand stack" with context receivers
  • KT-54905 KLIB check on compiled with pre-release version
  • KT-55615 K2 often does not expand type aliases in annotation position
  • KT-54522 K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type
  • KT-54300 K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object
  • KT-55495 K2: support lateinit intrinsic applicability checker
  • KT-55494 MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists
  • KT-54980 K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved
  • KT-54730 K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters
  • KT-55611 IC / MPP: Optional internal annotations are not visible on incremental builds
  • KT-55324 K2: ControlFlowGraphBuilder fails with index out of bounds exception
  • KT-55656 K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime
  • KT-51277 "NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection
  • KT-52791 Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file"
  • KT-55071 Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions
  • KT-52193 Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set
  • KT-54573 K2: untouched implicit types in delegated constructor call of data class with @JvmRecord
  • KT-55037 Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3
  • KT-48989 JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first
  • KT-55231 K2: Contract declarations are not passed to checkers
  • KT-54411 False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code
  • KT-55005 Inconsistent behavior of array set operation in Kotlin 1.7.21
  • KT-44625 Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets
  • KT-42490 Receiver annotations are not serialized/deserialized for non-JVM targets
  • KT-53441 K2: cannot access static method of package-private Java grandparent class
  • KT-54197 [K2] Exception from inliner for inline function with context receiver
  • KT-55246 Disable 'CustomEqualsInValueClasses' feature in 1.9 language version
  • KT-55247 Disable 'InlineLateinit' feature in 1.9 language version
  • KT-53957 K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers
  • KT-55421 K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol
  • KT-52815 Compiler option -Xjdk-release fails to compile mixed projects
  • KT-52236 Different modality in psi and fir
  • KT-54921 K2: cannot access static field of package-private Java parent class
  • KT-53698 K2: FIR2IR fails on call of inivisble extension function with Suppress
  • KT-53920 K2: "NoSuchElementException: Key org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab is missing in the map" with unreachable code and anonymous object
  • KT-55358 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions
  • KT-51475 "ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract
  • KT-51951 "IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver
  • KT-52373 Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included
  • KT-54220 K2: compiler fails on compiling plus expression on unsigned int
  • KT-54692 K2: compiler fails on compiling unsigned shifts
  • KT-54824 K2: missing smartcast after two levels of aliasing and a reassignment
  • KT-53368 Out of bounds read in sse version of String::hashCode
  • KT-54978 K2: Property accesses with explicit type arguments pass frontend checkers
  • KT-51863 ClassCastException when using context receivers with named argument.
  • KT-55123 JvmSerializableLambda is not applicable in common code in multiplatform projects
  • KT-45970 Missing deprecation warnings for constant operators calls in property initializers
  • KT-54851 K2: analysis of as/is contains multiple errors that result in missing diagnostics
  • KT-54668 K2: Inference error in body of lazy property with elvis with Nothing in RHS
  • KT-55269 FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass
  • KT-55026 K2: Function hides internal constructor from another module
  • KT-53070 Update intellij testdata fixes for FIR and merge it to master
  • KT-53492 No parameter null check generated for constructor taking an inline class type
  • KT-50489 Smart cast may lead to failing inference
  • KT-55160 Kotlin's fragment element types must not extend IStubFileElementType
  • KT-55143 K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes
  • KT-47933 Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable
  • KT-55035 FIR: do not use FirValueParameter for FirFunctionalTypeRef
  • KT-55095 Wrong containingDeclarationSymbol in type parameter from Enhancement
  • KT-53946 K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass
  • KT-54673 K2. "Superclass is not accessible" from interface error for sealed interfaces
  • KT-55074 OptIn false negative: constructor call with default argument value
  • KT-54260 K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin
  • KT-55034 FIR: provide information about containing function/constructor to FirValueParameter
  • KT-54744 K2: reassigning a var erases smartcast info of a variable derived from the old value
  • KT-53988 K2: False negative "The expression cannot be a selector (occur after a dot)"
  • KT-53983 K2 crashes with NPE when 'this' is used inside enum class constructor
  • KT-54910 Can not declare typed equals operator in inline class with "Nothing" return type
  • KT-54909 Usage of custom typed equals operator in generic inline class is type-unsafe
  • KT-53371 Properly resolve FIR to get fully resolved annotations
  • KT-53519 FIR: argument mapping for annotations on value parameter is not properly built
  • KT-54827 MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation of androidMain target
  • KT-54417 K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type
  • KT-54972 K2: Local functions with multiple type arguments are broken
  • KT-54762 Private constructor is accessible from a public inline function via @PublishedAPI annotation
  • KT-54832 Deprecate incorrect callable references resolution behavior for KT-54316
  • KT-54732 DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64
  • KT-54897 K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module
  • KT-54784 NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts
  • KT-54840 Field for const property on interface companion object loses deprecated status when copied to interface
  • KT-53825 class files are generated when compilation fails with platform declaration clash
  • KT-54526 K2: Raw type scope is lost after exiting from elvis
  • KT-54570 K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types
  • KT-52157 Annotation on type parameter isn't present in the symbol loaded from the library
  • KT-54318 VerifyError on { null } in catch block
  • KT-54654 K2: Implicit types leaks into delegated member
  • KT-54645 K2: Clash of two inherited classes with the same name
  • KT-53255 [FIR2IR] StackOverflowError with long when-expression conditions
  • KT-48861 No warning on incorrect usage of array type annotated as Nullable in Java
  • KT-54539 @Deprecated on members of private companion object is no longer needed
  • KT-54403 Unexpected behaviour on overridden typed equals in inline class
  • KT-54536 Unexpected result of comparison of inline class instances
  • KT-54603 ClassCastException on comparison of inline classes with custom equals
  • KT-54401 Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'
  • KT-54378 K2: smart cast breaks subtyping in case with complex projections
  • KT-53761 Reified type not propagated to supertype token through two inline functions
  • KT-53876 Manually instantiated annotations with unsigned arrays are not equal
  • KT-51740 NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range
  • KT-54084 ClassCastException when trying to call a context receiver's method
  • KT-51282 IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using @JvmMultifileClasses
  • KT-53479 False positive "Cannot access 'runCatching' before superclass constructor has been called"
  • KT-50950 JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function
  • KT-49364 "VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int
  • KT-51478 Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
  • KT-32469 @Synchronized on extension method doesn't generate instance lock
IDE
New Features
  • KTIJ-24378 Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
  • KT-55445 KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
  • KTIJ-24657 Disable pre-release and other metadata checks in IDE
  • KT-55929 Unresolved dependencies for intermediate multiplatform SourceSets
  • KTIJ-24179 Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2
  • KTIJ-23547 K2 IDE: Functional type: explicit parameter name VS ParameterName annotation
  • KTIJ-23347 K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests
  • KT-55862 Can't resolve kotlin-stdlib-js sources in IDE
  • KTIJ-23587 K2: SOE in delegate field resolution
  • KT-55782 [SLC] Typealiases are not exapnded in arguments of annotations
  • KT-55778 [SLC] Incorrect determination of useSitePostion for types of local declarations
  • KT-55780 [SLC] No approximation of anonymous and local types in members
  • KT-55743 K2 SLC: SymbolLightClassForClassOrObject must have a name
  • KT-55604 Descriptor leak
  • KT-55502 SLC: drop redundant 'final' modifier from synthetic static enum members
  • KT-55497 LC: drop @NotNull annotation from parameter from synthetic Enum.valueOf
  • KT-55496 SLC: generated synthetic enum methods by symbols instead of manual creation
  • KT-55481 SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)
  • KT-55470 SLC: implement light class for RepeatableContainer
  • KT-55442 SLC: 'isInheritor' for 'DefaultImpls' should work correctly
  • KTIJ-23449 K2: "parent must not be null" from SymbolLightClassBase.getContext()
  • KT-40609 IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws
  • KT-54051 Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
  • KTIJ-22503 Support code completion for data objects
  • KTIJ-22361 ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
  • KTIJ-24259 Debugger is stuck in an infinite loop in an Android project
  • KTIJ-24003 Smart step into doesn't work for Java synthetic properties references
  • KTIJ-24039 Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
  • KTIJ-24351 Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
  • KTIJ-24616 Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta
  • KT-55347 Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised
  • KTIJ-23781 TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
  • KT-56941 Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
  • KTIJ-23404 K2 IDE. Platform type is inserted as type parameter for "Change return type" intention
  • KTIJ-24319 "Set module version to *" quickfix isn't working
  • KTIJ-23225 "Change package" intention unintentionally and intractably replaces text inside of critical strings and comments
  • KTIJ-23892 UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9
  • KTIJ-22087 Support IDE inspections for upcoming data objects
  • KTIJ-24286 Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String
  • KTIJ-23859 ConvertObjectToDataObjectInspection support more hashCode and toString cases
  • KTIJ-23760 Get rid 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 branches
  • KTIJ-24210 Compatibility issue with the CUBA plugin
IDE. Multiplatform
  • KTIJ-21205 MPP: Kotlin not configured error is shown for K/N sources if Android target is presented
  • KT-52172 Multiplatform: Support composite builds
  • KT-56198 Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build
  • KTIJ-24147 MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
  • KTIJ-24243 Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
  • KT-56632 Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
  • KTIJ-24562 Android target created by wizard contains AGP higher than supported
  • KTIJ-24402 Changes "Browser Application for Kotlin/Wasm" wizard template
  • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
  • KT-54118 Kotlin/JS IR: keep declarations with non-minified names
  • KT-35655 Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
  • KT-55971 KJS: Result of suspend function cannot be assigned to property of dynamic value
  • KT-52374 KJS / IR: caling suspend function as dynamic ignores the rest of the expression
  • KT-56884 KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object
  • KT-51122 Provide fully-qualified method name in Kotlin/JS source maps
  • KT-56602 KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta
  • KT-56580 KJS: languageVersionSettings string is unstable
  • KT-56581 KJS: Lock file for incremental cache
  • KT-56582 KJS: Function type interface reflection crashes the compiler in incremental build
  • KT-55720 KJS: ReferenceError: SuspendFunction1 is not defined with 1.8 when importingkotlin.coroutines.SuspendFunction1
  • KT-56469 KJS: BE Incremental rebuild spoils source map comment
  • KT-55930 KJS: A recursive callable reference of the inline function leads broken cross module references
  • KT-31888 Kotlin/JS: make possible to call main() in main run tasks, but not in test tasks
  • KT-51581 FIR: support JS backend
  • KT-55786 KJS: Rewriting of secondary constructors if they are protected
  • KT-52563 KJS / IR: Invalid TypeScript generated for class extending base class with private constructor
  • KT-55367 KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code
  • KT-55240 KJS: "NoSuchElementException: No element of given type found" caused by @JsExport and Throwable's child class
  • KT-54398 KJS / IR + IC: Support *.d.ts generation
  • KT-55144 KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller
  • KT-54134 KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around
  • KT-54911 KJS / IR + IC: invalidate all klib dependencies after removing it
  • KT-54912 KJS / IR + IC: Commit cache header only in the end (after lowering)
  • KT-52677 Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke"
  • KT-54480 KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default
  • KT-41294 KJS: Weird behaviour of j2v8 in test infra
  • KT-54173 Kotlin/JS + IR: failed to 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 classes
  • KT-54621 Preview of Enum.entries: modern and performant replacement for Enum.values()
  • KT-54525 Preview of Java synthetic property references
  • KT-55337 Preview of data objects
  • KT-55344 Deprecate @Synchronized in platforms except JVM
Libraries
  • KT-35508 EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)
  • KT-56794 Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem
  • KT-55935 [Kotlin/JVM] Path.copyToRecursively does not work across file systems
  • KT-55978 Provide Common Base64 encoding in stdlib
  • KT-46211 [Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input
  • KT-31066 Add Closeable & use to common stdlib
  • KT-55609 Introduce experimental kotlin.concurrent.Volatile annotation
  • KT-39789 Segfault in Kotlin/Native regex interpreter
  • KT-53310 Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
  • KT-56443 Native link task reports w: Cached libraries will not be used for optimized compilation
  • KT-55938 [Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
  • KT-55303 Objective-C import: improve -fmodules flag discoverability.
  • KT-39120 Cinterop tool doesn't support the -fmodules compiler argument
  • KT-40426 Incorrect Objective-C extensions importing that prevents UIKit usage
  • KT-55653 Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it
  • KT-54284 Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
  • KT-56350 Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks
  • KT-55736 Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point"
  • KT-53638 Native: support disabling mangling globally for Swift names in generated Objective-C header
  • KT-53069 SOE on K/N framework build for Arm64
  • KT-53317 ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
  • KT-53064 Native: provide stdlib API to obtain memory management statistics
Reflection
  • KT-27585 Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible
  • KT-55178 Improve performance of KCallable.callBy
  • KT-53279 Reflection: "KotlinReflectionInternalError: Method is not supported" caused by @Repeatable annotation deserialization at runtime if it's repeated and contains arrays
  • KT-44977 Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
  • KT-57077 1.8.20-RC-243 shows Java 19 warnings even if configured with Java 17 toolchain
  • KT-56992 Performance test regression in Gradle when switching to Kotlin 1.8.20
  • KT-56789 Metaspace memory leak in CoreJrtFileSystem
  • KT-56925 Remove warning about assignment plugin
  • KT-54652 Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable
  • KT-55784 Unable to format compilation errors with ansi colors in compilation server
  • KT-54718 K2: Compiler crashes with "IllegalArgumentException: newPosition > limit"
  • KT-54337 CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
  • KT-47429 [Commonizer] OKIO support
  • KT-51517 C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
  • KT-53590 K2 Allopen does not look for transitive meta-annotations
  • KT-56487 Add more methods to DescriptorSerializerPlugin
  • KT-54020 [K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to @AllArgsConstructor annotation and an empty list is set as a constructor param value
  • KT-53096 Create a pack of compiler utilities for generating declarations from plugins
  • KT-55248 K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes
  • KT-54756 Deprecate "legacy" mode of jvm-abi-gen plugin
  • KT-55233 jvm-abi-gen strips out InnerClass attributes
  • KT-54994 K2 plugin API: Compile-time constants are not evaluated before IR
  • KT-55023 K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries
  • KT-55286 K2: Parcelize plugin sometimes can't find nested objects in current class
  • KT-54500 Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
  • KT-56738 Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum
  • KT-56990 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using @Serializer and List argument
  • KT-54441 Prohibit implicit serializer customization via companion object
  • KT-49983 Implement prototype of kotlinx.serialization for K2 compiler
  • KT-48733 "AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter
  • KT-54297 Regression in serializable classes with star projections
Tools. Gradle
New Features
  • KT-54691 Kotlin Gradle Plugin libraries alignment platform
  • KT-54492 Send gradle build errors from idea
  • KT-55540 Add compilation speed metric in build reports
  • KT-55541 Validate FUS metrics values on Gradle side
Performance Improvements
  • KT-54836 Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+
  • KT-55995 Add ability to perform precise compilation task outputs backup
  • KT-54579 Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11
  • KT-54588 KotlinCompile: Avoid calling FileCollection.getFiles() multiple times
Fixes
  • KT-57296 Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied
  • KT-56645 Gradle: KGP reports an incorrect resources processing task name for JVM projects
  • KT-55824 Deprecate commonMain.dependsOn(anything) in user scripts
  • KT-56221 Gradle KTS: False positive Val cannot be reassigned when using an extension and its property with an implicit set operator
  • KT-55452 Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task
  • KT-55565 Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask
  • KT-55632 'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8
  • KT-56414 Dependency locking and failed builds with Kotlin 1.8.10
  • KT-52625 Compatibility with Gradle 7.4 release
  • KT-55544 Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs
  • KT-52149 Gradle: declare shared build services usages with Task#usesService
  • KT-55323 Gradle: allow to opt-out of reporting compiler arguments to a http statistics service
  • KT-53811 Compatibility with Gradle 7.6 release
  • KT-52998 Compatibility with Gradle 7.5 release
  • KT-55741 Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'.
  • KT-55174 KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task"
  • KT-54425 Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage()
  • KT-54998 "kotlin.gradle.performance" FUS collector reports data twice
  • KT-55520 Add required configuration for Kotlin Gradle Plugin API reference publication
  • KT-52963 Build report code breaks Gradle project isolation.
  • KT-55164 KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails
  • KT-52490 Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings
  • KT-55000 Include information about the new IC into "kotlin.gradle.performance" FUS collector
  • KT-54941 Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build
  • KT-45748 Migrate all Kotlin Gradle plugin Android tests to new test setup
  • KT-54029 Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
  • KT-41830 CocoaPods integration: Support link-only mode for pods
  • KT-55117 PodGenTask doesn't declare ouputs properly
  • KT-55243 Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project
  • KT-56304 Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries
  • KT-56298 Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project
  • KT-55801 Deprecate useLibraries
  • KT-55790 Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
  • KT-25878 Provide Option to Define Scoped NPM Package
  • KT-37759 [Gradle, JS] Support arguments of command line for webpack and nodejs task
  • KT-33518 Allow specifying command line args for node in nodejs or mocha tests
  • KT-46163 KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
  • KT-55476 KotlinWebpack should be cacheable
  • KT-39108 Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin
  • KT-45411 Investigate memory consumption in npm package
  • KT-51376 KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
  • KT-57285 KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset
  • KT-57068 KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta
  • KT-54445 KJS Remove dukat integration
  • KT-56999 K/JS: KotlinJsIrLink::rootCacheDirectory property must be public
  • KT-56765 K/JS: Several binaries use same cache directory
  • KT-54529 KJS / IR: generate typescript definitions only on explicit Gradle action
  • KT-56488 Debugger won't stop on breakpoints of JS browser test
  • KT-56719 KJS / Gradle: Compile sync task has to sync only changed files
  • KT-56131 KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken
  • KT-37668 Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL"
  • KT-35285 Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations
  • KT-55593 KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as @Deprecated in 1.8
  • KT-33291 JS: No build result with gradle parallel build in multiproject build
  • KT-40925 KJS: need a way to configure extra environment variables for the test task
  • KT-47236 KJS: kotlinNpmInstall fails if no yarn is downloaded
  • KT-53288 KJS / Gradle: FileNotFoundException when customising moduleName
  • KT-54511 Kotlin/JS generated package.json main field is not correctly set if module name contains a / (slash)
  • KT-54421 KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14
  • KT-54503 Make the target observer API public in kotlin JS Extension
  • KT-54418 KJS: Change test running with kotlin-test adapter
  • KT-54132 KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
  • KT-54766 TCS: external Android Target APIs: Milestone: Compile
  • KT-50967 Make c-interop libs resolve robust to build clean
  • KT-53570 multiplatform 'natural hierarchy' prototype
Fixes
  • KT-36943 Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar
  • KT-57460 Kotlin Gradle Plugin: Null this pointer in transformCommonMainDependenciesMetadata
  • KT-57306 [Kotlin 1.8.20-RC] GradleException: Could not load the value of field apiConfiguration of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer
  • KTIJ-23750 KotlinMppModelSerializationService is not invoked in production environment
  • KTIJ-24223 Update latest tested KGP version to 1.9.0-dev-764
  • KT-56536 Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name
  • KTIJ-23889 TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies
  • KT-56729 commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3
  • KT-56510 Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution
  • KT-54180 TCS: Initial external Android Target APIs
  • KT-55010 TCS: External Android Target Prototype: Setup Android dependencies
  • KT-54783 KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations
  • KT-54867 KotlinWithJavaCompilation does not respect javaSourceSet classpaths
  • KT-52413 MPP: Gradle dependency substitution breaks KMP import for native targets
  • KT-56115 Multiplatform;Composite Builds: Support import with cinterop commonization enabled
  • KT-54312 TCS: Replace CompilationDetails abstract class hierarchy by composable implementation
  • KT-47441 MPP: Unresolved reference for dependent on the other module with dependencySubstitution
  • KT-56429 Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder
  • KT-56337 Unable to import a project with cinterop with enableKgpDependencyResolution
  • KT-55873 Unrequested dependencies leaking into common source sets: Regression after 703fd0f
  • KT-55891 Deprecate pre-HMPP flags
  • KT-56278 TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets
  • KT-56143 CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target
  • KT-56285 TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution
  • KT-56204 KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix
  • KT-56111 Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required
  • KT-54974 TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers
  • KT-38712 Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish
  • KT-54975 TCS: Gradle Sync: Implement stdlib-common filter for platform source sets
  • KT-48839 Sources.jar of the root artifact of MPP library includes source files from test sourcesets
  • KT-55492 TCS: Gradle Sync: Sources and Documentation as extra 'classpath'
  • KT-55237 TCS: Gradle Sync: Support stdlib-native sources
  • KT-55475 TCS: Gradle Sync: Fine tune jvmAndAndroid source sets
  • KT-55189 TCS: Gradle Sync: Support icons (native, js) and global libraries
  • KT-55218 KotlinTargetHierarchy: Disambiguate declaring targets vs including targets
  • KT-55112 TCS: Gradle Sync: Resolve Source Dependencies
  • KT-54977 TCS: Gradle Sync: Implement debugging tools
  • KT-54948 TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS
  • KT-55289 TCS: Gradle Sync: Prototypical sources jar resolution
  • KT-55238 TCS: Gradle Sync: Support commonized native distribution
  • KT-55230 Remove metadata dependencies transformation for runtimeOnly scope
  • KT-53338 Prettify the message about incompatible AGP and KGP versions
  • KT-55134 MPP / Gradle: Cannot read test tasks state
  • KT-54506 Test tasks are considered up-to-date after a failure when triggered by allTests
  • KTIJ-23509 Update latest tested KGP version to 1.8.20-dev-1815
  • KT-54787 Test tasks are not up-to-date when an individual test task called after aggregating test task
  • KT-54033 Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis
  • KT-54202 CInterop Commonization fails on first run when native distribution is not yet commonizied
  • KT-54135 Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
  • KT-37051 MPP Gradle plugin: duplicated cinterop libraries in composite build
  • KT-55650 Pass through errors from Gradle to Xcode
  • KT-56205 Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs
  • KT-54969 Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
  • KT-55021 New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades
  • KTIJ-21161 Incremental build is taking too long when no files have changed in the project
  • KT-53832 Enable new incremental compilation by default in Gradle
  • KT-55622 MPP: Incremental compilation ignores changes in source set structure
  • KT-55309 IC: Get rid of NonCachingLazyStorage
  • KT-53402 Incremental compilation tries to compile resources
  • KT-54791 Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
  • KT-56165 Language version 1.9 and 2.0 is absent in Kotlin Compiler settings
  • KT-51536 [JPS] Recompile module on facet settings change
  • KT-53735 JPS / IC: "IOException: The system cannot find the file specified" on Windows
  • KT-47983 [JPS] Adding compilerSettings to Facet should initiate rebuild of module
  • KT-54449 Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
  • KT-53135 Enable JVM IR for KAPT stub generation by default
  • KT-41129 kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
  • KT-56635 KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta
  • KT-56360 Kapt with JVM IR changes fields order
  • KT-54380 Kapt / IR: Build failed when inheritance by functional interface with suspend modifier
  • KT-54245 JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt
  • KT-33847 Kapt does not included Filer-generated class files on compilation classpath
  • KT-55490 Kapt + JVM IR: "annotation @Foo is missing default values"
  • KT-43786 KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope
  • KT-43117 Kapt: "System is already defined in this compilation unit"
  • KT-46966 Kapt: correctErrorTypes: receiver type is NonExistentClass
  • KT-46965 Kapt: correctErrorTypes: custom setter gets Object parameter type
  • KT-51087 KAPT: @JvmRepeatable annotations are present in inverse order in KAPT stubs
  • KT-54870 KAPT stub generation with JVM_IR backend throws exception for delegated properties
  • KT-44350 Kapt Gradle integration tests failing with Android Gradle plugin 7.0
  • KT-54030 Kapt: annotation processor warnings are displayed as errors on JDK 17+
  • KT-32596 kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation
  • KT-37586 KAPT: When delegated property use an unknown type (to-be-generated class), correctTypeError will mess up the $delegate field type
Tools. Maven
  • KT-56697 IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress
  • KT-55709 Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible"
  • KT-29346 Add components.xml to automatically compile kotlin maven projects
  • KT-13995 Maven: Kotlin compiler plugin should respect model's compile source roots
  • KT-54822 Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter " from Kotlin Maven plugin invoking compiler when tags are empty
  • KT-47110 Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
  • KT-54095 It is difficult (if not impossible) to use kotlin compiler plugins with scripting
  • KT-54461 Warnings and stack traces when executing scripts via kotlin-maven-plugin
  • KT-54733 Scripts: ConcurrentModificationException in *.main.kts scripts
  • KT-53283 Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries
Checksums
File Sha256
kotlin-compiler-1.8.20.zip 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4
kotlin-native-linux-x86_64-1.8.20.tar.gz 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438
kotlin-native-macos-x86_64-1.8.20.tar.gz e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055
kotlin-native-macos-aarch64-1.8.20.tar.gz becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2
kotlin-native-windows-x86_64-1.8.20.zip 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a

v1.8.10: Kotlin 1.8.10

Changelog

Compiler
  • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
  • KT-55729 "None of the following functions can be called with the arguments supplied:" in 1.8.0
  • KT-55769 "ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0
  • KT-55308 InnerClass attributes should be sorted (innermost last)
JavaScript
  • KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
  • KT-55852 JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type
  • KT-55716 KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0
  • KT-55758 KJS / IR: Checking implemented interface on a class implementing a @​JsExport interface returns the wrong result
Reflection
  • KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
Tools. Compiler plugins. Serialization
  • KT-56347 [Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error
  • KT-55681 Serialization: NullPointerException after update to 1.8.0 caused by @Serializer(forClass= ..)
  • KT-56244 kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
  • KT-55683 Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object
  • KT-55682 Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
Tools. Gradle
  • KT-55697 KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
Tools. Gradle. Multiplatform
  • KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
  • KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Kapt
  • KT-48013 Kapt generates illegal stubs for private interface methods

Checksums

File Sha256
kotlin-compiler-1.8.10.zip 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787
kotlin-native-linux-x86_64-1.8.10.tar.gz 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742
kotlin-native-macos-x86_64-1.8.10.tar.gz 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db
kotlin-native-macos-aarch64-1.8.10.tar.gz 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85
kotlin-native-windows-x86_64-1.8.10.zip e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d

v1.8.0: Kotlin 1.8.0

Changelog
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 field
  • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias
Android
  • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
  • KT-53013 Increase AGP compile version in KGP to 4.1.3
  • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
  • KT-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 lambdas
  • KT-54460 Implementation of non-local break and continue
  • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
  • KT-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 parser
  • KT-53689 JVM: Optimize equality on class literals
  • KT-53119 Improve String Concatenation Lowering
Fixes
  • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
  • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
  • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
  • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
  • KT-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 bound
  • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
  • KT-51284 SAM conversion doesn't work if method has context receivers
  • KT-48532 Remove old JVM backend
  • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend
  • KT-53270 K1: implement synthetic Enum.entries property
  • KT-52823 Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8
  • KT-55108 IR interpreter: Error occurred while optimizing an expression: VARARG
  • KT-53547 Missing fun IrBuilderWithScope.irFunctionReference
  • KT-54884 "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
  • KT-47475 "IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses
  • KT-55013 State checker use-after-free with XCode 14.1
  • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
  • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
  • KT-48678 Coroutine debugger: disable "was optimised out" compiler feature
  • KT-54745 Restore KtToken constructors without tokenId parameter to preserve back compatibility
  • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
  • KT-52786 Frontend / K2: IndexOutOfBoundsException when opting in to K2
  • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
  • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
  • KT-53794 IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclass
  • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
  • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
  • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
  • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
  • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
  • KT-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.8
  • KT-35187 NullPointerException on compiling suspend inline fun with typealias to suspend function type
  • KT-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 parameters
  • KT-46727 Report warning on contravariant usages of star projected argument from Java
  • KT-53197 K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier
  • KT-53867 K2: @JvmRecord does not compile to a java record
  • KT-53964 K2 is unable to work with Java records
  • KT-53349 K2: TYPE_MISMATCH caused by non-local return
  • KT-54100 "Type variable TypeVariable(P) should not be fixed" crash in code with errors
  • KT-54212 K2: cannot calculate implicit property type
  • KT-53699 K2: Exception during IR lowering in code with coroutines
  • KT-54192 Warn about unsupported feature on generic inline class parameters
  • KT-53723 Friend modules aren't getting passed to cache build during box tests
  • KT-53873 K2: Duplicated diagnostics reported from user type ref checkers
  • KT-50909 "VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class
  • KT-54115 Restore Psi2IrTranslator constructor from 1.7.20
  • KT-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.10
  • KT-54062 K2 Invalid serialization for type-aliased suspend function type with extension receiver
  • KT-53953 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-47473 NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parameters
  • KT-54049 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED
  • KT-30054 Wrong approximation if nullable anonymous object with implemented interface is used
  • KT-53751 Postpone IgnoreNullabilityForErasedValueParameters feature
  • KT-53324 Implement Enum.entries lowering on K/N
  • KT-44441 K2: report redeclaration error if there is a Java class with the same name as the Kotlin class
  • KT-53807 No warning about declaringClass on an enum value
  • KT-53493 K2: val on function parameter counts as just warning
  • KT-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 concatenated
  • KT-52927 AssertionError: LambdaKotlinCallArgumentImpl
  • KT-53922 Make Enum.entries unstable feature to poison binaries
  • KT-53783 Exception during psi2ir when declaring expect data object
  • KT-53622 [OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2
  • KT-41670 JVM IR: AbstractMethodError when using inheritance for fun interfaces
  • KT-53178 K2: implement diagnostics for serialization plugin
  • KT-53804 Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib
  • KT-52970 Default value constant in companion object works on JVM and JS, but fails on native
  • KT-51114 FIR: Support DNN checks
  • KT-27936 Write InnerClasses attribute for all class names used in a class file
  • KT-53719 Parsing regression on function call with type arguments and labeled lambda
  • KT-53261 Evaluate effect from inline for primitive types
  • KT-53706 K2: Context receivers are not resolved on properties during type resolution stage
  • KT-39492 Kotlin.Metadata's packageName field cannot be an empty string
  • KT-53664 Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module
  • KT-52478 [Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one
  • KT-48822 CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException
  • KT-50281 IllegalStateException: unsupported call of reified inlined function
  • KT-50083 Different error messages in android and JVM (Intrinsics.checkNotNullParameter).
  • KT-53236 Support Enum.entries codegen on JVM/IR BE
  • KT-41017 FIR: should we support smartcast after null check
  • KT-53202 "ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda
  • KT-46969 @BuilderInference with nested DSL scopes cause false-positive scope violation in Kotlin 1.5
  • KT-53257 FIR: Improper context receiver argument is chosen when there are two extension receiver candidates
  • KT-53090 Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy
  • KT-53208 K2: Cannot get annotation for default interface method parameter when compiled with -Xuse-k2
  • KT-53184 K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealias
  • KT-53198 K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit?
  • KT-53100 Optimization needed: (CONSTANT_PRIMITIVE(x: T?)) => x
  • KT-49875 [FIR] Support infering PRIVATE_TO_THIS visibility
  • KT-53024 Refactor FIR renderer to composable architecture
  • KT-50995 [FIR] Support SAM with receiver plugin
  • KT-53148 K1: introduce warning for inline virtual member in enum
  • KT-49847 Devirtualization fails to eliminate boxing in function reference context
  • KT-52875 Extension function literal creation with -Xlambdas=indy fails with incorrect arguments
  • KT-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 null
  • KT-52020 FIR warning message includes internal rendering
  • KT-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 K2
  • KT-55150 Argument for @NotNull parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null
  • KTIJ-22165 IDE notification to promote users to migrate to the new Kotlin/JS toolchain
  • KTIJ-22166 IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated
  • KT-53543 Rework light classes for file facade
  • KT-48773 Investigate the possibility of removing dependency on old JVM backend in light classes
  • KTIJ-19699 IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library
  • KT-51101 FIR IDE: Exception on "Show Type Info" action
  • KTIJ-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 resolve
  • KT-51315 FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin
  • KTIJ-22323 K2: ISE during resolve of stdlib calls from the stdlib
  • KTIJ-21391 Generate -> Override methods : don't delegate to abstract methods
  • KT-53097 Extract common part of light classes to another module
  • KTIJ-22354 FIR LC: annotation owner is always null
  • KTIJ-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 session
  • KTIJ-21963 Debugger / IR: Expression evaluation of the debugger doesn't work
IDE. Decompiler, Indexing, Stubs
  • KTIJ-22750 Initialize Kotlin stub element types lazily
  • KTIJ-18094 IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library
  • KTIJ-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 libraries
  • KTIJ-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 module
  • KT-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 requirements
  • KTIJ-22087 Support IDE inspections for upcoming data objects
  • KTIJ-20510 Quick fix to implement and call correct super method in case of inheritance with defaults
  • KTIJ-20170 Provide quickfix for deprecated resolution to private constructor of sealed class
  • KTIJ-22630 FIR IDE: Lazy resolve exception after invocation of Override members action on value class
  • KT-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 wizard
  • KTIJ-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 symbol
  • KTIJ-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 roots
  • KT-54325 .settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
  • 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 sdkCompileVersion
  • KTIJ-23525 Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
  • KTIJ-22763 New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor
  • KTIJ-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 exception
  • KT-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.map
  • KT-54934 KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures
  • KT-54895 KJS / IR + IC: broken cross module references for function default param wrappers
  • KT-54520 KJS / IR Allow IdSignature clashes
  • KT-54120 JS IR + IC: pointless invalidation of dependent code after modifying companions
  • KT-53986 KJS / IR + IC: compiler produces different JS file names with IC and without IC
  • KT-54010 JS IR + IC: Force IC cache invalidation after updating language version or features
  • KT-53931 KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined
  • KT-53968 Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies
  • KT-54686 KJS / IR: Incorrect generation of signatures when one of argument is nested class
  • KT-54479 KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure
  • KT-54382 KJS / IR: Wrong type check for inheritors of suspend functions
  • KT-54323 KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild
  • KT-53361 KJS / IR: No debug info is generated for in-line js code
  • KT-53321 Implement Enum.entries lowering on JS/IR
  • KT-53112 KJS IR turn on IC infra by default
  • KT-50503 Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency
  • KT-54011 JS IR + IC: EnumEntries don't work well when IC is enabled
  • KT-53672 KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable
  • KT-43455 KJS: IR. Incremental compilation problem with unbound symbols
  • KT-53539 KJS: Exported class inherited non-exported class shows warning
  • KT-53443 KJS/IR: NullPointerException caused by anonymous objects inside lambdas
  • KT-52795 K/JS and K/Native IR-validation/compilation errors for a valid kotlin code
  • KT-52805 KJS/IR: Invalid call of inline function in also block
  • KT-51151 KJS / IR: Wrong overloaded generic method with receiver is called
  • KT-52830 KJS/IR: Sourcemap disabling doesn't work
  • KT-52968 KJS / IR: Buggy generation of overridden methods
  • KT-53063 KJS / IR + IC: undefined cross module reference for implemented interface functions
  • KT-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 qualifier
  • KT-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 initially
  • KT-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-subject
  • KT-48516 Forbid @Synchronized annotation on suspend functions
  • KT-41886 Ability to require opt-in for interface implementation, but not for usage
  • KT-34943 OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code
  • KT-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 TimeMarks
  • KT-52928 Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path
  • KT-49425 Update OptIn documentation to reflect latest design changes
  • KT-54005 Allow calling declaringJavaClass on Enum
  • KT-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.8
  • KT-54835 Document that Iterable.all(emptyCollection) returns TRUE.
  • KT-54168 Expand on natural order in comparator docs
  • KT-53277 Stabilize experimental API for 1.8
  • KT-53864 Review deprecations in stdlib for 1.8
  • KT-47707 Remove the system property and the brittle contains optimization code itself
  • KT-52336 Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1)
  • KT-53927 Remove deprecation from ConcurrentModificationException constructors
  • KT-53152 Introduce EnumEntries to stdlib as backing implementation of Enum.entries
  • KT-53134 stdlib > object Charsets > not thread safe lazy initialization
  • KT-51063 Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit
  • KT-52908 Native: setUnhandledExceptionHook swallows exceptions
Native
  • KT-51043 Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2
  • KT-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 arrays
  • KT-53599 [Reverse C Interop] Provide box/unbox API for unsigned primitive types
  • KT-41904 Kotlin/Native : error: duplicate member for interface and function with the same name
  • KT-42830 [Reverse C Interop] Add API to get value of boxed primitives
  • KT-39496 K/N C: optional unsigned types as function parameters crash the compiler
  • KT-39015 Cannot compile native library with nullable inline class
Native. C and ObjC Import
  • KT-54738 Cocoapods cinterop: linking platform.CoreGraphics package
  • KT-54001 Kotlin/Native: support header exclusion in cinterop def files
  • KT-53151 Native: Custom declarations in .def don't work with modules, only headers
Native. ObjC Export
  • KT-53680 Obj-C refinement annotations
  • KT-54119 Native: runtime assertion failed due to missing thread state switch
  • KT-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.1
  • KT-54164 Native: commonizer fails on CoreFoundation types
  • KT-39747 Why is there no WinHttp API in Kotlin/Native's Windows API?
Native. Runtime
  • KT-49228 Kotlin/Native: Allow to unset unhandled exception hook
  • KT-27305 Fix FILE macro inside RuntimeCheck and RuntimeAssert
Native. Runtime. Memory
  • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
  • KT-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 classifier
  • KT-54611 KTypeImpl does not take into account class loader from the classifier property
  • KT-48136 Make Reflection.getOrCreateKotlinPackage use cache when kotlin-reflect is used
  • KT-50705 Use ClassValue to cache KClass objects in kotlin-reflect
  • KT-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 19
  • KT-53278 Support values 6 and 8 for -Xjdk-release
  • KT-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 distributions
  • KT-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 else
  • KT-53657 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type NavigableMap without explicit types specification
  • KT-53647 [K2] Unresolved reference compilation error occurs if a field is annotated with @ Singular and has type Iterable<>
  • KT-53724 Param of the @ Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler
  • KT-53451 [K2] References to methods generated by @ With lombok annotation can't be resolved with enabled K2 compiler
  • KT-53721 [K2] There is no compilation error while trying to add null as a param of the field with non-null type
  • KT-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 type
  • KT-55296 Improve exceptions in serialization plugin
  • KT-55180 KJS: regression in serialization for Kotlin 1.8.0-beta
  • KT-53157 Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization
  • KT-54297 Regression in serializable classes with star projections
  • KT-49660 kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class
  • KT-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 properties
  • KT-53357 Change single build metrics property
  • KT-50673 Gradle: KotlinCompile task(s) should use @NormalizeLineEndings
  • KT-34464 Kotlin build report path not clickable in the IDE
Performance Improvements
  • KT-51525 [Gradle] Optimize evaluating args for compile tasks
  • KT-52520 Remove usage of reflection from CompilerArgumentsGradleInput
Fixes
  • KT-48843 Add ability to disable Kotlin daemon fallback strategy
  • KT-55334 kaptGenerateStubs passes wrong android variant module names to compiler
  • KT-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 files
  • KT-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 project
  • KT-50115 Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly
  • KT-55222 Migrate AndroidDependencyResolver to the new Gradle API
  • KT-55119 There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources
  • KT-55102 Compile java task fails with different target version in pure kotlin project
  • KT-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 metadata
  • KT-45335 kotlinOptions.jvmTarget conflicts with Gradle variants
  • KT-48798 Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change
  • KT-55019 Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation
  • KT-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 phase
  • KT-54399 Undeprecate 'kotlinOptions' DSL
  • KT-54306 Change the naming of newly added Compiler*Options classes and interfaces
  • KT-54580 KotlinOptions in AbstractKotlinCompilation class are deprecated
  • KT-54653 java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added
  • KT-52624 Compatibility with Gradle 7.3 release
  • KT-54703 Stdlib substitution does not work with JPMS modules
  • KT-54602 Prevent leaking Gradle Compile DSL types into compiler cli runtime
  • KT-54439 Project failed to sync Native LaguageSettings to compiler options in afterEvaluate
  • KT-53885 Bump minimal supported Gradle version to 6.8.3
  • KT-53773 Protect and system properties can contain sensitive data
  • KT-53732 Add custom values limits for build scan reports
  • KT-52623 Compatibility with Gradle 7.2. release
  • KT-51831 Gradle: remove kotlin.compiler.execution.strategy system property
  • KT-51679 Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods
  • KT-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 absent
  • KT-54356 Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file
  • KT-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.5
  • KT-50161 Android variant filter breaks KotlinCompile cache compatibility
  • KT-54113 LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context
  • KT-53830 Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib
  • KT-54112 Missing target input on KotlinNativeLink task
  • KT-45879 Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)"
  • KT-54103 Remove JvmTarget.JVM_1_6 from generated Gradle compiler type
  • KT-52959 KMP code is breaking Gradle project isolation
  • KT-50598 MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build
  • KT-53246 Gradle: Special characters in paths of errors and warnings should be escaped
  • KT-47730 How to avoid stdlib coming from Kotlin gradle plugin
  • KT-52209 Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon
  • KT-41642 "TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib
  • KT-53390 Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation
  • KT-52984 Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early
  • KT-38622 Non-incremental compilation because of R.jar with Android Gradle plugin 3.6
  • KT-38576 AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
Tools. Gradle. Cocoapods
  • KT-54314 Cocoapods: Signing pod dependency for Xcode 14
  • KT-54060 Xcode 14: disable bitcode embedding for Apple frameworks
  • KT-53340 Change default linking type for frameworks registered by cocoapods plugin
  • KT-53392 Deprecate and delete downloading pod dependencies by direct link
  • KT-53695 Build of macOS application fails if a framework is integrated via Cocoapods plugin
Tools. Gradle. JS
  • KT-53367 KJS: Migrate cssSupport API
  • KT-45789 KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output
  • KT-55099 K/JS: Second declaration of JS target without compiler type report warning incorrectly
  • KT-52951 [KGP/JS] Browser test target registration via properties
  • KT-52950 KJS: Report if yarn.lock was updated during built
  • KT-53374 KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support
  • KT-53381 Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails
  • KT-53788 KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled
  • KT-53614 Kotlin/JS upgrade npm dependencies
Tools. Gradle. Multiplatform
New Features
  • KT-53396 Support 'implementation platform()' by gradle kotlin mpp plugin for JVM target
  • KT-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 failure
  • KT-35916 Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming
  • KT-46960 Repeated kotlin/native external libraries in project
  • KT-27292 MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class files
  • KT-34650 Naming clash in MPP+Android: androidTest vs androidAndroidTest
  • KT-54387 Remove MPP alpha stability warning
  • KT-31468 Targets disambiguation doesn't work if a depending multiplatform module uses withJava() mode
  • KT-54090 Take an Apple test device from the device list
  • KT-54301 KotlinToolingVersionOrNull: IllegalArgumentException
  • KT-53256 Implement K/N compiler downloading for KPM
  • KT-45412 KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set
  • KT-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/Native
  • KT-53107 Add arm64 support for watchOS targets (Xcode 14)
Fixes
  • KT-53704 Native cinterop: eager header path calculation
  • KT-54814 Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5
  • KT-54627 Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17
  • KT-54339 Link tasks fail if Gradle Configuration Cache is enabled
  • KT-53191 Native cinterop sync problem with gradle
  • KT-54583 watchosDeviceArm64 target shouldn't register test tasks
  • KT-52303 Gradle / Native: Build tasks ignore project.buildDir
  • KT-54442 Gradle iOS test tasks fail if a device is not selected explicitly
  • KT-54177 Gradle: Deprecate enableEndorsedLibs flag
  • KT-47355 Support macos target for FatFramework task
  • KT-53339 MPP / CocoaPods: The static framework fails to install on a real iOS device
  • KT-31573 Missing description for Native Gradle tasks
  • KT-53131 Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods
  • KT-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 JvmName
  • KT-53871 New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor
  • KT-19804 Relocatable IC caches
Tools. JPS
  • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
  • KT-54228 Switching abstract to sealed classes causes incremental issue
  • KT-38483 JPS: Stopping compilation causes IDE CompilationCanceledException
  • KT-50310 False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classes
  • KT-48813 Move cache version to compiler
  • KTIJ-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 interface
  • KT-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
Checksums
File Sha256
kotlin-compiler-1.8.0.zip 0bb9419fac9832a56a3a19cad282f8f2d6f1237d2d467dc8dfe9bd4a2a43c42e
kotlin-native-linux-x86_64-1.8.0.tar.gz 1634d4fa815c5cbd5d4f67526501ab0637e99efe3b1c279bb648f60425dc9688
kotlin-native-macos-x86_64-1.8.0.tar.gz e3764714c4b3f4fe5925d1bf55cb4f79c9d63fd0110ba337a3e4729cc0236c5e
kotlin-native-macos-aarch64-1.8.0.tar.gz 75a49236907e0b577558a8353b4ab3221a5073ee4835fa72ec3b0448bd60aca5
kotlin-native-windows-x86_64-1.8.0.zip 3c552df79b62afb229e3e3dcef2797fd1eaae307b0903ccfd473665bb4a2238d

v1.7.22: Kotlin 1.7.22

This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21.
Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

Checksums
File Sha256
kotlin-compiler-1.7.22.zip 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83
kotlin-native-linux-x86_64-1.7.22.tar.gz dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff
kotlin-native-macos-x86_64-1.7.22.tar.gz 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5
kotlin-native-macos-aarch64-1.7.22.tar.gz 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e
kotlin-native-windows-x86_64-1.7.22.zip 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92

v1.7.21: Kotlin 1.7.21

Changelog
Compiler
  • KT-54463 Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
  • KT-54509 Ir Interpreter: unable to evaluate string concatenation with "this" as argument
  • KT-54004 Builder type inference does not work correctly with variable assignment and breaks run-time
  • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
  • KT-54615 JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
  • KT-54581 JVM: "VerifyError: Bad type on operand stack" with generic inline function and when inside try-catch block
  • KT-53146 JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
  • KT-54600 NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super type bound
  • KT-54707 "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
  • KT-54650 Binary incompatible ABI change in Kotlin 1.7.20
  • KT-54802 "VerifyError: Bad type on operand stack" for inline functions on arrays
Native. Runtime. Memory
  • KT-54498 Deprecation message of 'FreezingIsDeprecated' is not really helpful
Tools. Gradle. Multiplatform
  • KT-54387 Remove MPP alpha stability warning
  • KT-48436 False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
Tools. JPS
  • KT-45474 False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
Checksums
File Sha256
kotlin-compiler-1.7.21.zip 8412b31b808755f0c0d336dbb8c8443fa239bf32ddb3cdb81b305b25f0ad279e
kotlin-native-linux-x86_64-1.7.21.tar.gz 0f9eb04a5ee0665a195c1f1093c778f5696216660feb638b29f923f586093dd0
kotlin-native-macos-x86_64-1.7.21.tar.gz 9530cadcf05cfd6111ef35725115009283b1a0292427261b78d43853c35ccd44
kotlin-native-macos-aarch64-1.7.21.tar.gz f75e1a68e193b0cd9df56f15166fb4e721641b408065531b620cf204d78922e5
kotlin-native-windows-x86_64-1.7.21.zip 5e76301f6c386ea83dc668e171887244908c18da636f7237d5371b56d8fec8da

v1.7.20: Kotlin 1.7.20

1.7.20
Analysis API
  • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
  • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading
Analysis API. FE1.0
  • KT-51962 Analysis API: Finish Analysis API for FE1.0
Analysis API. FIR
  • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
  • KT-50236 Fix OOB modification trackers for non-Kotlin code
  • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
  • KT-50868 Analysis API: decompiled type aliases are not resolved
Compiler
  • KT-53739 Builder inference, extension hides members
  • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
  • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
  • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
  • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
  • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
New Features
  • KT-52495 Support until operator in back-ends
  • KT-52420 Implement resolve of until operator
  • KT-52419 Implement until operator in the parser
  • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
  • KT-51665 FIR: implement label resolve for "typed this" case
  • KT-52361 Report warning on potentially empty intersection types
Performance Improvements
  • KT-47816 Disable script discovery for non-script environments
  • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
  • KT-23397 Optimize out field for property delegate when it's safe (JVM)
Fixes
  • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
  • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
  • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
  • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
  • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
  • KT-53007 JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
  • KT-53019 K2: cannot cast callable reference to Function1 in runtime
  • KT-53031 K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
  • KT-29168 Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
  • KT-52432 Using the IDE compiled with K2 (useFir) throws VerifyError exception
  • KT-52327 False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
  • KT-49682 Support JVM IR in KAPT stub generation
  • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
  • KT-51972 FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
  • KT-52011 [FIR] All-open compiler plugin isn't supported
  • KT-51950 JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
  • KT-52540 Native: kotlin.NotImplementedError with Arrow library
  • KT-48031 "IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
  • KT-47708 RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
  • KT-52913 JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
  • KT-50771 IR partial linkage: Removed abstract callable members are not supported
  • KT-52994 Enable generic inline classes as experimental feature
  • KT-52742 CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
  • KT-52743 Non-null generic functions throws NPE when assigned to val
  • KT-52745 Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
  • KT-52832 Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
  • KT-52403 IncompatibleClassChangeError when inlining suspend funs
  • KT-50107 Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
  • KT-47965 Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
  • KT-25787 No error on crossinline usage of receiver parameter of functional type in an inline function
  • KT-52762 Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
  • KT-52680 K2: overload resolution ambiguity if this is casted in a different method
  • KT-52676 K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
  • KT-50293 False positive: USELESS_CAST on stub types
  • KT-52175 WRONG_ANNOTATION_TARGET for annotation that used inside if
  • KT-52338 "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
  • KT-49507 JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
  • KT-44512 FIR DFA: incorrect smartcast after null assignment inside a lambda
  • KT-49200 FIR/FE 1.0: different behavior with multiple matching star imports
  • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7
  • KT-52190 FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
  • KT-52197 Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
  • KT-52057 Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
  • KT-47823 JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with break usage in the loop range
  • KT-51883 Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam
  • KT-52684 Syntax error regression on complicated combination of LT and GTEQ
  • KT-52417 Reflection: Can't reflect on type parameters captured by SAM converted lambda
  • KT-46797 JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern
  • KT-51464 FIR: Unable to infer type in coroutines flow code
  • KT-52163 JVM IR: Double.compareTo(Int) compiled to integer comparison
  • KT-41980 FIR: erroneous scope during annotation resolve
  • KT-47159 KtPsiUtils.areParenthesesUseless() is returning a false positive on expressions for interface delegation
  • KT-51418 Substitute anonymous type's supertypes
  • KT-35544 kotlin.TypeCastException has no message on Native
  • KT-52386 StackOverflowError during Kotlin/Native gradle build
  • KT-52592 NPE from KProperty.getExtensionDelegate on property delegated to another property
  • KT-52551 Delegating to object property reference does not invoke object's initializer
  • KT-51704 Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object
  • KT-25527 False positive UNUSED_VALUE for delegated property/variable
  • KT-51002 [FIR] Hidden declaration hides visible one
  • KT-51008 [FIR] Star import does not work for nested calssifiers of java class
  • KT-52407 FIR: Star import has lower priority than built-in import
  • KT-52431 Reported error instead of warning due to empty intersection type found
  • KT-49394 Bad message and suggestion: The feature "unit conversion" is disabled
  • KT-51168 FIR: Inference error with Java interop and captured types
  • KT-49961 "AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling [bracketed] expression inside elvis
  • KT-50108 Difference in fun interface conversion behavior for uninitialized not-null function values
  • KT-51889 Calls to super-classes constructors with context receivers fail on runtime
  • KT-51228 [FIR] Unresolved reference on callable reference on implicit this with smartcast
  • KT-52364 False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION
  • KT-52237 JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions
  • KT-50832 Method references to suspend inline functions are processed incorrectly
  • KT-52194 False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine
  • KT-47203 JVM Debugger: Parameter value doesn't change for tailrec function
  • KT-52131 False positive variable unused warning when calling inline function in finally block
  • KT-51738 Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect
  • KT-52198 Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine
  • KT-50994 FIR: AssertionError during inference of delegated properties with implicit types
  • KT-51757 FIR does not see various JS/Native specific declarations in common modules
  • KT-51201 FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type
  • KT-48444 FIR: type argument rejected for annotation
  • KT-51754 JVM: Local variable table invalid for do-while with continue
  • KT-51936 Breakpoint not hit on last line of suspend function on Android
  • KT-27333 Forbid @Synchronized annotation on suspend functions
  • KT-51530 "StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow
  • KT-51460 FIR: Protected property inaccessible from inner class
  • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
  • KT-51234 Context receivers can be duplicated in function declaration
  • KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@​'" with at character
  • KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
  • KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
  • KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
  • KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
  • KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
  • KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
  • KT-52822 Fix contract for KtElement.getReference()
  • KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
  • KT-51963 Change Maven version to 1.7.255
  • KT-47664 Incorrect type checking in the case of generic types
  • KT-48765 NI: Inferred type does not respect the bound of type variable
  • KT-51243 False positive error "No required context receiver" inside contextual lambda
  • KT-43541 TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast
  • KT-51016 [FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes
  • KT-50155 FIR: support contextual receivers
  • KT-38637 Catch NoSuchFieldException in optimized when expression over enum
Docs & Examples
  • KT-49896 Kotlin/JS: improve -Xir-property-lazy-initialization description due to making it true by default
IDE
  • KTIJ-22286 Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version
  • KTIJ-22065 IDE notification motivating Kotlin users to use EAP
  • KTIJ-22209 Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
  • KTIJ-22171 Fix test BuiltInDecompilerConsistencyTest
  • KTIJ-22016 Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class
  • KT-52571 MPP Tasks on import are not up-to-date after subsequent launches
  • KT-47777 ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message.
IDE. FIR
  • KT-52360 FIR IDE: Make the fix of isInheritor method better
  • KT-51786 FIR IDE: IllegalStateException exception in Inspections' infrastructure
  • KT-52331 Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure
IDE. Code Style, Formatting
  • KTIJ-21346 Incorrect formatting for functions with context receivers and visibility modifiers
IDE. Completion
  • KTIJ-21910 FIR IDE: Fix completion tests started failing after visibility checker refinement
IDE. Decompiler, Indexing, Stubs
  • KTIJ-21243 ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on library with context receivers usage attempt
IDE. Gradle Integration
  • KT-47627 IDE import fails with com.intellij.util.lang.PathClassLoader error for runCommonizer Gradle task on 212, 213 IDEAs
  • KTIJ-21638 MPP: IntelliJ can not resolve MPP references in common-code
  • KT-52216 HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant
IDE. Inspections and Intentions
  • KTIJ-22540 Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in brackets
IDE. J2K
  • KTIJ-21665 J2K generates non compiling code when lifting return and one branch is broken before binary operator
IDE. JS
  • KTIJ-22337 Wizard: Kotlin/Js for browser: cssSupport DSL should be updated
IDE. K2
  • KTIJ-21672 FIR IDE: Method reference on generic class breaks resolve
  • KTIJ-21714 FIR IDE: Inherently imported type from another module is not properly resolved
IDE. Script
  • KT-52525 Update scripts handling in source roots
IDE. Misc
  • KTIJ-21699 Refactoring: move out parts of the plugin useful for both FE10 and K2
JavaScript
New Features
  • KT-39423 KJS: Optionally generate a method to handle optional parameters for function in typescript
  • KT-42282 KJS IR: add an ability to run separate tests
Performance Improvements
  • KT-50270 KJS IR: Unnecessary getter and setter calls when accessing class members
Fixes
  • KT-51133 Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate
  • KT-51123 Provide a way to add comments to generated JS
  • KT-48493 KJS / IR: Invalid d.ts for inner classes inside objects
  • KT-52553 KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime
  • KT-23252 JS: Unit materialization on declaration and assignment
  • KT-51128 Kotlin/JS - IR generate huge count of useless blocks
  • KT-50778 KJS/IR: Inline class has no field when building production distribution
  • KT-50157 KSJ IR: Applying identity equality operator to Chars always returns false
  • KT-38262 Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names
  • KT-51066 KJS / IR: suspend lambda parameter of value class is undefined
  • KT-51102 KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343)
  • KT-51878 KJS / Legacy: Unit is not materialized in an overridden method, but it should be
Language Design
  • KT-47986 Implicit inferring a type variable into an upper bound in the builder inference context
  • KT-49264 Deprecate infix function calls of functions named "suspend" with dangling function literal
  • KT-25636 Native: Object is frozen by default problem
  • KT-49303 Implement support for basic compile-time evaluation
Libraries
  • KT-52932 Open-ended ranges in the standard library
  • KT-52910 Provide visit extension functions for java.nio.file.Path
  • KT-48232 Multiplatform function for computing cubic root
  • KT-52778 The documentation for the Duration does not indicate any differences from the ISO-8601
  • KT-52618 ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random
Native
  • KT-53346 MPP project with kotlinx-serialization-json:1.4.0-RC is not built
Native. C Export
  • KT-45468 Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library
Native. C and ObjC Import
  • KT-53373 Native: @​ExportObjCClass doesn't work with the new memory manager
  • KT-49034 Kotlin/Native: cnames.structs.Foo resolves into wrong declaration
  • KT-26478 Objective-C object's class name is null in ClassCastException's message
Native. ObjC Export
  • KT-51593 Include more information in Objective-C header documentation
  • KT-33117 Improve customizing Info.plist in produced frameworks
  • KT-52681 Native: @end; for Objective-C is generated with an unnecessary semicolon
Native. Platforms
  • KT-52226 Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts
Native. Runtime
  • KT-52430 KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x
  • KT-53534 Kotlin/Native: -Xruntime-logs=gc=info flag doesn't work with compiler caches in 1.7.20-beta
Native. Runtime. Memory
  • KT-52692 Kotlin/Native: fix tests with aggressive GC
  • KT-52130 Kotlin/Native: use Xallocator for Kotlin objects only
  • KT-51436 Kotlin/Native: optimize mark queue
Reflection
  • KT-51804 An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments.
Tools. CLI
  • KT-52465 CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated
  • KT-52380 Invalid path to compiler plugins should be reported as a compiler error
  • KT-51025 JVM CLI compiler takes class file from classpath instead of input java source file
  • KT-51846 Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd"
Tools. Compiler Plugins
  • KT-52486 [K2] Looking for function/constructor whose parameters are annotated or meta annotated
  • KT-52872 Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems
  • KT-52804 A function obtained by Fir IrBuiltins has an incorrect package
  • KT-52468 Rename module and jar for lombok compiler plugin
Tools. Gradle
  • KT-53670 Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta
  • KT-53615 Gradle: Fix deprecation warnings in CleanableStoreImpl
  • KT-53118 Fully up-to-date builds are slower with Kotlin 1.7.0
  • KT-51923 Improve usability of errors and warnings by being able to click on them
  • KT-53244 Report from gradle about compiler plugins
  • KT-52839 Warn in Gradle log why incremental compilation failed
  • KT-46019 Compatibility with Gradle 7.1 release
  • KT-47047 Migrate Kotlin Gradle Plugin from using Gradle conventions
  • KT-52698 Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled
  • KT-52867 Provide simplified JVM toolchain configuration method
  • KT-45747 Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup
  • KT-46034 Shadow Kotlin Gradle plugin dependencies
  • KT-28664 Support ExtensionContainer on kotlin targets and source sets.
  • KT-19472 Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin
  • KT-34393 Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin
  • KT-51629 There isn't enough info about incremental compilation state in logs while running build with --info key
Tools. Gradle. Cocoapods
  • KT-53174 CocoaPods: Synthetic Podfile does not specify platform
  • KT-53127 "MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0
  • KT-44155 Cocoapods doesn't support pods without module map file inside
  • KT-49032 Cocoapods cinterop: some header files are not found
  • KT-53337 Add warning about future changing default linking type of framework provided via cocoapods plugin
Tools. Gradle. JS
  • KT-52637 KJS / Gradle: Add SCSS webpack config
  • KT-51527 Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard
  • KT-51532 Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings
  • KT-52221 Kotlin/JS: failed Node tests are not reported in a standard way
Tools. Gradle. Multiplatform
  • KT-52243 CInteropProcess is not cacheable despite the annotation
  • KT-52741 MPP: klib outputs are not reproducible
  • KT-52208 MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9)
  • KT-54071 MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0
Tools. Gradle. Native
  • KT-52632 Gradle / Native: commonizeNativeDistributionTask can never be up-to-date
  • KT-52328 "ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error
Tools. Incremental Compile
  • KT-53168 Incremental compilation doesn't perform correctly after a few iterations
  • KT-52925 [IR BE] Non incremental build occurs after build failure for compileKotlinJs task
  • KT-52946 CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module
  • KT-52329 Reduce memory usage of classpath snapshot cache
  • KT-53266 Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field
  • KT-53231 New IC reports build failures for missing classpath snapshots
Tools. JPS
  • KT-47824 'when expression must be exhaustive' isn't thrown during incremental compilation
  • KT-51873 JPS build is incorrect after gdw build
  • KTIJ-17072 JPS does not rebuild Kotlin usages of declared in Java when enum entry is added
  • KT-51537 Rebuild module on plugin classpaths change
Tools. REPL
  • KT-45065 REPL: Incorrect output for unsigned value
  • KT-53043 Scripting: Changes in REPL protocol: mark end of errors
Tools. Scripts
  • KT-52598 Scripts and REPL snippets are not checked against using 'kotlin' package
  • KT-47187 Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One
  • KT-47191 [Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State
Tools. Kapt
  • KT-52761 Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
Checksums
File Sha256
kotlin-compiler-1.7.20.zip 5e3c8d0f965410ff12e90d6f8dc5df2fc09fd595a684d514616851ce7e94ae7d
kotlin-native-linux-x86_64-1.7.20.tar.gz 65ac0a71fbff016d4387956768a49b668e6cda316e96adb116de5cf1169f5627
kotlin-native-macos-x86_64-1.7.20.tar.gz 449d68b055ea5b45106d1cbc925bc43d7e1a9ab9d6b1cdd16722fa569b8fd8b1
kotlin-native-macos-aarch64-1.7.20.tar.gz 221aa20718cf81897ba682479da838e44f221424f3a867f7871fff231b50a799
kotlin-native-windows-x86_64-1.7.20.zip b84bea3f8c62ec2f614e7d282335c5df891a654a843d30a9a55ebe29c68ea044

v1.7.10: Kotlin 1.7.10

Changelog
Compiler
  • KT-52702 Invalid locals information when compiling kotlinx.collections.immutable with Kotlin 1.7.0-RC2
  • KT-52892 Disappeared specific builder inference resolution ambiguity errors
  • KT-52782 Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature
  • KT-52718 declaringClass deprecation message mentions the wrong replacement in 1.7
IDE. Configuration
  • KTIJ-21982 Cannot run/build anything with Kotlin plugin since last update
Tools. Gradle
  • KT-52777 'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes
Tools. Gradle. JS
  • KT-52856 Kotlin/JS: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
  • KT-52955 SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders
  • KT-52694 Kotlin 1.7.0 breaks Configuration Caching in Android projects
Tools. Incremental Compile
  • KT-52669 Full rebuild in IC exception recovery leaves corrupt IC data
Checksums
File Sha256
kotlin-compiler-1.7.10.zip 7683f5451ef308eb773a686ee7779a76a95ed8b143c69ac247937619d7ca3a09
kotlin-native-linux-x86_64-1.7.10.tar.gz b874373e87381b94c6a385178ea9594a5b4cfeb2fbae2bd89d3cb84c96bc3b96
kotlin-native-macos-x86_64-1.7.10.tar.gz 4e9470c25e0c6b3b79e86a59c7eca4d79c5a28ca515e80db93504535b2332a00
kotlin-native-macos-aarch64-1.7.10.tar.gz c02be577f541a5c73e1af75534006eea6e09cf67b3a886f323dae6f0406bcb3e
kotlin-native-windows-x86_64-1.7.10.zip 52c64c754a23da3d554d89beb9cdc322ffcb19b8d6f1e812e849e597d282b99d

v1.7.0: Kotlin 1.7.0

Changelog
Analysis API. FIR
  • KT-50864 Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target
  • KT-50252 Analysis API: Implement FirModuleResolveStates for libraries
  • KT-50862 Analsysis API: do not create use site subsitution override symbols
Analysis API. FIR Low Level API
  • KT-50729 Type bound is not fully resolved
  • KT-50728 Lazy resolve of extension function from 'kotlin' package breaks over unresolved type
  • KT-50271 Analysis API: get rid of using FirRefWithValidityCheck
Backend. Native. Debug
  • KT-50558 K/N Debugger. Error is not displayed in variables view for catch block
Compiler
New Features
  • KT-26245 Add ability to specify generic type parameters as not-null
  • KT-45165 Remove JVM target version 1.6
  • KT-27435 Allow implementation by delegation to inlined value of inline class
  • KT-47939 Support method references to functional interface constructors
  • KT-50775 Support IR partial linkage in Kotlin/Native (disabled by default)
  • KT-51737 Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets
  • KT-44249 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order function
Performance Improvements
  • KT-48233 Switching to JVM IR backend increases compilation time by more than 15%
  • KT-51699 Kotlin/Native: runtime has no LTO in debug binaries
  • KT-34466 Use optimized switch over enum only when all entries are constant enum entry expressions
  • KT-50861 FIR: Combination of array set convention and plusAssign works exponentially
  • KT-47171 For loop doesn't avoid boxing with value class iterators (JVM)
  • KT-29199 'next' calls for iterators of merged primitive progressive values are not specialized
  • KT-50585 JVM IR: Array constructor loop should use IINC
  • KT-22429 Optimize 'for' loop code generation for reversed arrays
  • KT-50074 Performance regression in String-based 'when' with single equality clause
  • KT-22334 Compiler backend could generate smaller code for loops using range such as integer..array.size -1
  • KT-35272 Unnecessary null check on unsafe cast after not-null assertion operator
  • KT-27427 Optimize nullable check introduced with 'as' cast
Fixes
  • KT-46762 Finalize support for jspecify
  • KT-51499 @file:OptIn doesn't cover override methods
  • KT-52037 FIR: add error in 1.7.0 branch if run with non-compatible plugins
  • KT-46756 Release the K2/JVM compiler in Alpha
  • KT-49715 IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interface
  • KT-45508 False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member
  • KT-28078 Report error "Public property exposes its private type" for primary constructor properties instead of warning
  • KT-49017 Forbid usages of super or super if in fact it accesses an abstract member
  • KT-38078 Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclass
  • KT-52363 Evaluate impact of qualified this behavior change warnings
  • KT-52561 JVM: Coroutine state machine loses value after a check-induced smart cast
  • KT-52311 java.lang.VerifyError: Bad type on operand stack
  • KT-41124 Inconsistency of exceptions at init block for an enum entry with and without a qualifier name
  • KT-46860 Make safe calls always nullable
  • KT-52503 New green code appeared at the callable reference resolution
  • KT-51925 Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline function
  • KT-49317 "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter
  • KT-51844 New errors in overload resolution involving vararg extension methods
  • KT-52006 "java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin project
  • KT-51223 Report warning about conflicting inherited members from deserialized dependencies
  • KT-51439 FE 1.0: implement type variance conflict deprecation on qualifier type arguments
  • KT-51433 FE 1.0: implement warnings about label resolve changes
  • KT-51317 Regression in resolution of lambdas where expected type has an extension receiver parameter
  • KT-45935 JVM IR: Add not-null assertion for explicit definitely not-null parameters
  • KT-51818 "ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines
  • KT-51718 JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function
  • KT-51927 Native: The symbol of unexpected type encountered during IR deserialization error when multiple libraries have non-conflicting declarations with the same name
  • KT-52394 JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-Beta
  • KT-51640 FIR: remove warning about "far from being production ready"
  • KT-45553 FIR: support hiding declaration from star import by as import
  • KT-52404 Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java
  • KT-50734 TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warning
  • KT-51235 JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing?
  • KT-48935 NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function type
  • KT-49661 NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return type
  • KT-50877 Inconsistent flexible type
  • KT-51988 "NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using @BuilderInference with multiple type arguments
  • KT-48890 Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations."
  • KT-52035 FIR: add error in 1.7.0 branch if run on JS / Native configuration
  • KT-45461 NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraints
  • KT-52146 JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection
  • KT-50730 Implement error for a super class constructor call on a function interface in supertypes list
  • KT-52040 JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0"
  • KT-50845 Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases
  • KT-51979 "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override
  • KT-51759 FIR DFA: false positive "Variable must be initialized"
  • KT-50378 Unresolved reference for method in Jsoup library in a kts script file
  • KT-34919 "Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class
  • KT-51893 Duplicated [OVERRIDE_DEPRECATION] on overridden properties
  • KT-41034 K2: Change evaluation semantics for combination of safe calls and convention operators
  • KT-51843 Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags
  • KT-51914 False positive RETURN_TYPE_MISMATCH in intellij ultimate
  • KT-51711 Compiler warning is displayed in case there is 'if' else branch used with elvis
  • KT-33517 Kotlin ScriptEngine does not respect async code when using bindings
  • KT-51850 FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlin
  • KT-44705 Deprecate using non-exhaustive if's and when's in rhs of elvis
  • KT-44510 FIR DFA: smartcast after elvis with escaping lambda
  • KT-44879 FIR DFA: Track inc and dec operator calls in preliminary loop visitor
  • KT-51758 FIR: explicit API mode errors should not be reported for effectively internal / private entities
  • KT-51203 FIR: Inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties
  • KT-51624 FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved types
  • KT-51204 FIR IC: Incremental compilation fails on nested crossinline
  • KT-51798 Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signature
  • KT-46187 FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plus
  • KT-51761 Incorrect NONE_APPLICABLE in expect class
  • KT-51756 FIR: false positive NO_VALUE_FOR_PARAMETER in expect class delegated constructor call
  • KT-49778 Support cast to DefinitelyNotNull type in Native
  • KT-51441 -Xpartial-linkage option specified in Gradle build script is not passed to Native linker
  • KT-34515 NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to brackets
  • KT-48546 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy block
  • KT-28109 "AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operator
  • KT-46136 Unsubstituted return type inferred for a function returning anonymous object upcast to supertype
  • KT-51364 FIR: ambiguity due to String constructors clash
  • KT-51621 FIR: visible VS invisible qualifier conflict
  • KT-50468 FIR compilers fails with CCE when meets top-level destruction
  • KT-51557 Inline stack frame is not shown for default inline lambda
  • KT-51358 OptIn: show default warning/error message in case of empty message argument
  • KT-44152 FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binaries
  • KT-50949 PSI2IR: NSEE from ArgumentsGenerationUtilsKt.createFunctionForSuspendConversion with providing lambda as argument with suspend type
  • KT-39256 ArrayStoreException with list of anonymous objects with inferred types created in reified extension function
  • KT-39883 Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loops
  • KT-36952 Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check)
  • KT-51233 AssertionError in JavaLikeCounterLoopBuilder with Compose
  • KT-51254 Verify Error on passing null to type parameter extending inline class
  • KT-50996 [FIR] Support Int -> Long conversion for property initializers
  • KT-51000 [FIR] Support Int -> Long? conversion
  • KT-51003 [FIR] Consider Int -> Long conversion if expected type is type variable
  • KT-51018 [FIR] Wrong type inference if one of constraints is integer literal
  • KT-51446 Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabled
  • KT-50973 Redundant line number mapping for finally block with JVM IR
  • KT-51272 Incompatible types: KClass and callable reference Collection::class
  • KT-51274 "Expected some types" exception on when branch for when expression of erroneous type
  • KT-51229 FIR: private constructor of internal data class treated as internal and not private
  • KT-50750 [FIR] Report UNSUPPORTED on array literals not from annotation classes
  • KT-51200 False EXPOSED_PARAMETER_TYPE for internal type parameter of internal type
  • KT-49804 False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCH
  • KT-51121 Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10)
  • KT-50136 FIR: syntax error on (T & Any)
  • KT-49465 FIR2IR: support definitely not-null types
  • KT-51357 FIR: error in inference while using integer literal in expected Long position
  • KT-49925 [FIR] Incorrect builder inference (different cases)
  • KT-50542 "IllegalStateException: Type parameter descriptor is not initialized: T declared in sort" with definitely non-null type Any & T in generic constraint
  • KT-51171 FIR: class Error resolution problem
  • KT-51156 Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constant
  • KT-51017 [FIR] Ambiguity on callable reference between two functions on generic receiver with different bounds
  • KT-51007 [FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another module
  • KT-50998 [FIR] Int.inv() cal does not considered as compile time call
  • KT-51009 [FIR] Incorrect inference of lambda in position of return
  • KT-50997 [FIR] Incorrect type of typealias for suspend functional type
  • KT-49714 Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type alias
  • KT-48623 Type nullability enhancement improvements
  • KT-44623 "IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with something
  • KT-46000 JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with Compose
  • KT-50211 Annotation Instantiation with default arguments in Native
  • KT-49412 Controversial "type argument is not within its bounds" reported by FIR
  • KT-48044 [FIR] Investigate behavior of UPPER_BOUND_VIOLATED on complex cases
  • KT-37975 Don't show deprecation of enum class itself for its own member
  • KT-50737 Inheritance from SuspendFunction leads to compiler crash
  • KT-50723 Implement a fix of reporting of uninitialized parameter in default values of parameters
  • KT-50749 Implement UNSUPPORTED reporting on array literals inside objects in annotation classes
  • KT-50753 Implement reporting errors on cycles in annotation parameter types
  • KT-50758 Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier name
  • KT-50182 CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message for const in object expression
  • KT-50183 Fix missing apostrophe escapes in compiler error messages
  • KT-50788 FIR: false unsafe call on not-null generic
  • KT-50785 FIR: inconsistent smart cast after comparison with true
  • KT-50858 [FIR LL] FIR in low level mode creates multiple symbols for same declaration
  • KT-50822 Analysis API: make declaration transformers machinery to be a thread safe
  • KT-50972 FIR doesn't report VAL_REASSIGNMENT on synthetic properties
  • KT-50969 FIR: diamond inheritance with different parameter types depends on a supertype order
  • KT-50875 FIR: no smart cast after reassignment with elvis
  • KT-50835 Inline functions with suspend lambdas break the tail-call optimization
  • KT-49485 JVM / IR: StackOverflowError with long when-expression conditions
  • KT-35684 NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial code
  • KT-50776 FIR: ambiguity between Sequence.forEach and Iterable.forEach
  • KT-48908 Error for annotation on parameter type could have distinct ID and message referring 1.6
  • KT-48907 SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6
  • KT-50774 FIR2IR: NSEE in case of lambda in enum entry constructor call
  • KT-49016 Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnostic
  • KT-34338 Parameterless main causes duplicate JVM signature error
  • KT-50577 JVM_IR: No NPE when casting uninitialized value of non-null type to non-null type
  • KT-50476 JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default method
  • KT-50257 JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayList
  • KT-50470 FIR: inapplicable candidate in delegate inference due to nullability
  • KT-32744 Inefficient compilation of null-safe call (extra null checks, unreachable code)
Docs & Examples
  • KT-52032 Document performance optimizations of the Kotlin/JVM compiler in 1.7.0
  • KT-49424 Update KEEP for OptIn
IDE
Fixes
  • KTIJ-21735 Exception when opening a project
  • KTIJ-17414 UAST: Synthetic enum methods have null return values
  • KTIJ-17444 UAST: Synthetic enum methods are missing nullness annotations
  • KTIJ-19043 UElement#comments is empty for a Kotlin property with a getter
  • KTIJ-10031 IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable)
  • KTIJ-21515 Load JVM target 1.6 as 1.8 in Maven projects
  • KTIJ-21151 Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides
  • KTIJ-20736 NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start
  • KT-50111 Resolving into KtUltraLightMethod
  • KTIJ-21063 IDE highlighting: False positive error "Context receivers should be enabled explicitly"
  • KTIJ-20810 NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open
  • KTIJ-19088 KotlinUFunctionCallExpression.resolve() returns null for calls to @JvmSynthetic functions
  • KTIJ-17869 KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors
  • KTIJ-21061 UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type
  • KTIJ-20200 UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true
  • KTIJ-19624 NoDescriptorForDeclarationException on iosTest.kt.vm
IDE. Code Style, Formatting
  • KTIJ-20554 Introduce some code style for definitely non-null types
IDE. Completion
  • KTIJ-14740 Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
  • KTIJ-20815 MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
  • KTIJ-21472 "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file
  • KTIJ-20802 Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any
  • KT-51248 Function and parameter names with special symbols have to backticked
IDE. FIR
  • KTIJ-20443 FIR IDE: Work in Dumb mode
  • KTIJ-21374 FIR IDE: Incorrect highlighting for operators
  • KTIJ-21013 FIR IDE: Inconsistent smartcasts highlighting
  • KTIJ-21343 FIR IDE: Navigation from explicit invoke call does not work
  • KTIJ-20852 FIR IDE: Exception when checking isInheritor on two classes in different modules
  • KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver
  • KTIJ-20637 FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt
  • KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
IDE. Gradle Integration
  • KTIJ-21807 Gradle to IDEA import: language and API version settings are not imported for Native facet
  • KTIJ-21692 Kotlin Import Test maintenance: 1.7.0-Beta
  • KTIJ-20567 Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facets
IDE. Hints. Inlay
  • KTIJ-20552 Support definitely non-null types in inlay hints
IDE. Inspections and Intentions
New Features
  • KTIJ-18979 Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion call
  • KTIJ-19950 Provide quickfixes for INVALID_IF_AS_EXPRESSION_WARNING and NO_ELSE_IN_WHEN_WARNING
  • KTIJ-19866 Create quick-fix for effective visibility error on private-in-file interface exposing private class
  • KTIJ-19939 Provide quickfix for deprecated confusing expressions in when branches
Fixes
  • KTIJ-20705 Register quickfix for NO_CONSTRUCTOR_WARNING diagnostic
  • KTIJ-21226 "Remove else branch" quick fix is not suggested
  • KTIJ-20981 Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is set
  • KTIJ-20953 Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migration
  • KTIJ-20734 Replace with [@JvmInline] value quick fix should be appliable on a whole project
  • KTIJ-21420 Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completed
  • KTIJ-21192 "Make protected" intention is redundant for interface properties
  • KTIJ-18120 "Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict mode
  • KTIJ-20493 "Create expect" quick fix doesn't warn about platform-specific annotations
IDE. Misc
IDE. Multiplatform
  • KT-49523 Improve environment setup experience for KMM projects
  • KT-50952 MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Native
  • KT-44329 Improve UX of using Native libraries in Kotlin
  • KTIJ-21602 With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLED
IDE. Wizards
  • KTIJ-20919 Update ktor-html-builder dependency in kotlin wizards
  • KTIJ-20962 Wizard: Invalid Ktor imports
JavaScript
New Features
  • KT-51735 KJS / IR: Minimize member names in production mode
Performance Improvements
  • KT-51127 Kotlin/JS - IR generates plenty of useless Unit_getInstance()
  • KT-50212 KJS IR: Upcast should be a no-op
  • KT-16974 JS: Kotlin.charArrayOf is suboptimal due to Rhino bugs
Fixes
  • KT-44319 JS IR BE: Add an ability to generate separate JS files for each module
  • KT-52518 Kotlin/JS IR: project with 1.6.21 fails to consume library built with 1.7.0-RC: ISE "Unexpected IrType kind: KIND_NOT_SET" at IrDeclarationDeserializer.deserializeIrTypeData()
  • KT-52010 K/JS IR: both flows execute when using elvis operator
  • KT-41096 KJS IR: @JsExport should use original js name for external declarations
  • KT-52144 KJS / IR: Missing property definitions for interfaced defined properties
  • KT-52252 KJS / IR: overridden properties are undefined/null
  • KT-51973 KJS / IR overridden properties of inherited interface missing
  • KT-51125 Provide a way to use import keyword in js expressions
  • KT-40888 KJS / IR: Missing methods are no longer generated (polyfills)
  • KT-50504 KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields
  • KT-51853 JS compilation fails with "Uninitialized fast cache info" error
  • KT-51205 K/JS IR: external class is mapped to any
  • KT-50806 Typescript definitions contain invalid nested block comments with generic parent and type argument without @JsExport
  • KT-51841 KJS / IR: No flat hash for FUN FAKE_OVERRIDE with kotlin.incremental.js.ir=true
  • KT-51081 KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compiler
  • KT-51084 KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifier
  • KT-51211 K/JS IR: JsExport: Can't export nested enum
  • KT-51438 KJS / IR: Duplicated import names for the same external names
  • KT-51238 Kotlin/JS: IR + IC: build fails after clean on compileTestDevelopmentExecutableKotlinJs task: "Failed to create MD5 hash for file '.../build/classes/kotlin/main' as it does not exist"
  • KT-50674 KJS / IR: JS code cannot modify local variable
  • KT-50953 KJS IR: Incorrect nested commenting in d.ts
  • KT-15223 JS: function that overrides external function with vararg parameter is translated incorrectly
  • KT-50657 KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long.
Language Design
New Features
  • KT-45618 Stabilize builder inference
  • KT-30485 Underscore operator for type arguments
  • KT-49006 Support at least three previous versions of language/API
  • KT-16768 Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type)
  • KT-14663 Support having a "public" and a "private" type for the same property
  • KT-50477 Functional conversion does not work on suspending functions
  • KT-32162 Allow generics for inline classes
Fixes
  • KT-12380 Support sealed (exhaustive) whens
  • KT-27750 Reverse reservation of 'yield' as keyword
  • KT-22956 Release OptIn annotations
  • KT-44866 Change behavior of private constructors of sealed classes
  • KT-49110 Prohibit access to members of companion of enum class from initializers of entries of this enum
  • KT-29405 Switch default JVM target version to 1.8
Libraries
New Features
  • KT-50484 Extensions for java.util.Optional in stdlib
  • KT-50146 Reintroduce min/max(By/With) operations on collections with non-nullable return type
  • KT-46132 Specialized default time source with non-allocating time marks
  • KT-41890 Support named capture groups in Regex on Native
  • KT-48179 Introduce API to retrieve the number of CPUs the runtime has
Performance Improvements
  • KT-42178 Range and Progression should override last()
Fixes
  • KT-42436 Support java.nio.Path extension in the standard library
  • KT-51470 Stabilize experimental API for 1.7
  • KT-51775 JS: Support named capture groups in Regex
  • KT-51776 Native: Support back references to groups with multi-digit index
  • KT-51082 Introduce Enum.declaringJavaClass property
  • KT-51848 Promote deepRecursiveFunction to stable API
  • KT-48924 KJS: toString in base 36 produces different results in JS compare to JVM
  • KT-50742 Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 target
  • KT-50059 Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifier
  • KT-26678 Rename buildSequence/buildIterator to sequence/iterator
Native
  • KT-49406 Kotlin/Native: generate standalone executable for androidNative targets by default
  • KT-48595 Enable Native embeddable compiler jar in Gradle plugin by default
  • KT-51377 Native: synthetic forward declarations are preferred over commonized definitions
  • KT-49145 Kotlin/Native static library compilation fails for androidNative*
  • KT-49496 Gradle (or the KMM plugin) is caching the Xcode Command Line Tools location
  • KT-49247 gradle --offline should translate into airplaneMode for kotin-native compiler
Native. Build Infrastructure
  • KT-52259 kotlin-native releases from GitHub don't contain platform libs
Native. C and ObjC Import
  • KT-49455 Methods from Swift extensions are not resolved in Kotlin shared module
  • KT-50648 Incorrect KMM cinterop conversion
Native. ObjC Export
  • KT-50982 RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loading
  • KT-49937 Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is used
Native. Platforms
  • KT-52232 Kotlin/Native: simplify toolchain dependency override for MinGW
Native. Runtime
  • KT-52365 Kotlin/Native fails to compile projects for 32-bit targets when new memory manager is enabled
Native. Runtime. Memory
  • KT-48537 Kotlin/Native: improve GC triggers in the new MM.
  • KT-50713 Kotlin/Native: Enable Concurrent Sweep GC by default
Native. Stdlib
  • KT-50312 enhancement: kotlin native -- add alloc<TVarOf>(T)
Native. Testing
  • KT-50316 Kotlin/Native: Produce a list of available tests alongside the final artifact
  • KT-50139 Create tests for Enter/Leave frame optimization
Reflection
  • KT-27598 "KotlinReflectionInternalError" when using callBy on constructor that has inline class parameters
  • KT-31141 IllegalArgumentException when reflectively accessing nullable property of inline class type
Tools. CLI
  • KT-52409 Report error when use-k2 with Multiplatform
  • KT-51717 IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabled
  • KT-52217 Rename 'useFir' to 'useK2'
  • KT-29974 Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK version
  • KT-51673 Make language version description not in capital letters
  • KT-48833 -Xsuppress-version-warnings allows to suppress errors about unsupported versions
  • KT-51627 kotlinc fails with java.lang.RuntimeException if /tmp/build.txt file exists on the disk
  • KT-51306 Support reading language settings from an environment variable and overriding the current settings by them
  • KT-51093 "-Xopt-in=..." command line argument no longer works
Tools. Commonizer
  • KT-43309 Overwrite return type and parameter types of callable member to succeed commonization
  • KT-52050 [Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hosts
  • KT-51224 MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumber
  • KT-51215 MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumber
  • KT-51686 Cinterop: Overload resolution ambiguity in 1.6.20-RC2
  • KT-46636 HMPP: missed classes from platform.posix.*
  • KT-51332 Optimistic number commonization is disabled by default in KGP with enabled HMPP
Tools. Compiler Plugins
  • KT-50992 jvm-abi-gen breaks inline functions in inline classes with private constructors in Kotlin 1.6.20
Tools. Daemon
  • KT-32885 KT. Kotlin daemon compilation process is broken: java.lang.IllegalStateException Service is dying at entities generation by Kotlin.kts script
Tools. Gradle
New Features
  • KT-49227 Support Gradle plugins variants
  • KT-50869 Provide API that allow AGP to set up Kotlin compilation
  • KT-48008 Consider offering a KotlinBasePlugin
  • KT-52030 Provide experimental possibility to view internal information about Kotlin Compiler performance
Performance Improvements
  • KT-52141 Optimize Java class snapshotting for the kotlin.incremental.useClasspathSnapshot feature
  • KT-51978 Optimize classpath snapshot cache for the kotlin.incremental.useClasspathSnapshot feature
  • KT-51326 Kotlin-gradle-plugin performance issue with mass java SourceRoots
Fixes
  • KT-52448 Compilation tasks are missing input/output/internal annotations on includes/excludes properties
  • KT-52239 Type based task configuration-blocks for JVM stopped working in Gradle
  • KT-52313 No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modules
  • KT-51854 Add Ktor to gradle performance benchmark
  • KT-52086 Rename flag 'use-fir' to 'use-k2'
  • KT-52509 Main variant published to Gradle plugin portal uses unshadowed artifact
  • KT-52392 Gradle: 1.7.0 does not support custom gradle build configuration on Windows OS
  • KT-32805 KotlinCompile inherits properties sourceCompatibility and targetCompatibility which breaks Gradle's incremental compilation
  • KT-52189 Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler task
  • KT-51415 Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasks
  • KT-52187 New IC can not be enabled in an Android project using kapt
  • KT-51898 Upgrading Kotlin/Kotlin Gradle plugin to 1.5.3 and above breaks 'com.android.asset-pack' plugin
  • KT-51913 Gradle plugin should not add attributes to the legacy configurations
  • KT-34862 Restoring from build cache breaks Kotlin incremental compilation
  • KT-45777 New IC in Gradle
  • KT-51360 Show performance difference in percent between releases
  • KT-51380 Add open-source project using Kotlin/JS plugin to build regression benchmarks
  • KT-51937 Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATE
  • KT-48276 Remove kotlin2js and kotlin-dce-plugin
  • KT-52138 KSP could not access internal methods/properties in Kotlin Gradle Plugin
  • KT-51342 Set minimal supported Android Gradle plugin version to 3.6.4
  • KT-50494 Remove kotlin.experimental.coroutines Gradle DSL option
  • KT-49733 Bump minimal supported Gradle version to 6.7.1
  • KT-48831 Remove 'KotlinGradleSubplugin'
  • KT-47924 Remove annoying cast in toolchain extension method for Kotlin DSL
  • KT-46541 Fail Gradle builds when deprecated kotlinOptions.jdkHome is set
  • KT-51830 Gradle: deprecate kotlin.compiler.execution.strategy system property
  • KT-47763 Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUse
  • KT-51374 NoSuchFileException in getOrCreateSessionFlagFile()
  • KT-51837 kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.
  • KT-51454 KotlinJvmTest is not a cacheable task
  • KT-45745 Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CI
  • KT-47318 Remove deprecated 'kotlinPluginVersion' property in `KotlinBasePluginWrapper'
  • KT-51378 Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath
  • KT-46038 Gradle: kotlin_module files are corrupted in the KotlinCompile output, and gets cached
  • KT-51064 Kotlin gradle build hangs on MetricsContainer.flush
  • KT-48779 Gradle: Could not connect to kotlin daemon
Tools. Gradle. Cocoapods
  • KT-50622 Cocoapods Plugin: cocoapods-generate does not work correctly with ruby 3.0.0 and higher
  • KT-51861 Custom binary name in CocoaPods plugin isn't respected by fatFramework task
Tools. Gradle. JS
  • KT-52221 Kotlin/JS: failed Node tests are not reported in a standard way
  • KT-51895 K/JS: Redundant technical messages during JS tests
  • KT-51414 Allow set up environment variables for JS tests
  • KT-51623 Kotlin/JS: Mocha could not failed when external module not found
  • KT-51503 Update NPM dependency versions
Tools. Gradle. Multiplatform
New Features
  • KT-51386 [KPM] IdeaKotlinProjectModelBuilder: Implement dependencies
Fixes
  • KT-49524 Improve DSL for managing Kotlin/Native binary output
  • KT-51765 com.android.lint in multiplatform project without android target should not trigger warning
  • KT-38456 MPP with Android source set: allTests task does not execute Android unit tests
  • KT-44227 Common tests are not launched on local JVM for Android via allTests task in a multiplatform project
  • KT-51946 Temporarily mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4
  • KT-52140 Support extensibility Kotlin Artifacts DSL by external gradle plugins
  • KT-51947 Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using Reflection
  • KT-50925 Could not resolve all files for configuration ':metadataCompileClasspath'
  • KT-51262 [KPM] IDEA import: Move model builder to KGP
  • KT-51220 [KPM][Android] Implement generic data storage and import pipeline
  • KT-48649 No run task generated for macosArm64 target in Gradle plugin
Tools. Gradle. Native
  • KT-47746 Allow customization of the Kotlin/Native compiler download url
  • KT-51884 Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when building assembleFooXCFramework task on Linux
Tools. Incremental Compile
  • KT-51546 FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI"
  • KT-49780 IncrementalCompilerRunner bug: Outputs are deleted after successful rebuild following fallback from an exception
  • KT-44741 Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant
Tools. JPS
  • KTIJ-17280 JPS: don't use java.io.File.createTempFile as it is not working sometimes
  • KTIJ-20954 NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7
Tools. Kapt
  • KT-49533 Make kapt work out of the box with latest JDKs
  • KT-52284 FIR: add error in 1.7.0 branch if run with Kapt
  • KT-51463 KAPT: Incremental compilation not working when rerunning unit tests
  • KT-51132 KAPT: Support reporting the number of generated files by each annotation processor
  • KT-30172 Kapt: Shutdown kotlinc gracefully in case of error in annotation processor
Tools. Scripts
  • KT-49173 Add support for nullable types in provided properties and other configuration-defined declarations
  • KT-52294 [Scripting] Update oudated org.eclipse.aether dependencies to new org.apache.maven.resolver
  • KT-51213 Kotlin JSR223 crashes with "ScriptException: ERROR java.lang.NullPointerException:" if bindings contain one or more null values
  • KT-48812 Script: "IllegalStateException: unknown classifier kind SCRIPT" when passing a function reference to a Flow
  • KT-50902 Scripts loaded from the compilation cache ignore the loadDependencies eval configuration property
  • KT-52186 Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a function
  • KT-51731 Script: jsr223 memory leak in spring-boot Fat Jar
  • KT-49258 Scripts: method 'void ()' not found with multiple evals using kotlin script JSR223
  • KT-51346 Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside class
Checksums
File Sha256
kotlin-compiler-1.7.0.zip f5216644ad81571e5db62ec2322fe07468927bda40f51147ed626a2884b55f9a
kotlin-native-linux-x86_64-1.7.0.tar.gz 0a70da9bbd9405233f68d7a5863d098cb372f60171e5620f023b6fb9b9e99a9c
kotlin-native-macos-x86_64-1.7.0.tar.gz b39a85a6e59e91eecb09f51290dc9704e816752275f9cb3a83b994d68b14fc9f
kotlin-native-macos-aarch64-1.7.0.tar.gz 5f1f4c1fb4090c27db3caf5f03953566855bb8ba08272cbb40414c9420fd257c
kotlin-native-windows-x86_64-1.7.0.zip 2736b340adc708fe21083d441a86f96bb77fbbbe3f7c41a29fb1e10dd488bb26

v1.6.21: Kotlin 1.6.21

Changelog
Compiler
  • KT-51979 "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override
  • KT-51893 Duplicated [OVERRIDE_DEPRECATION] on overridden properties
  • KT-51927 Native: The symbol of unexpected type encountered during IR deserialization error when multiple libraries have non-conflicting declarations with the same name
  • KT-51843 Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags
  • KT-51672 JVM IR: Inline class mangling issue in interface default methods split across multiple modules
  • KT-51711 Compiler warning is displayed in case there is 'if' else branch used with elvis
  • KT-49317 "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter
IDE. Native
  • KTIJ-20819 Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"
JavaScript
  • KT-52010 K/JS IR: both flows execute when using elvis operator
  • KT-51973 KJS / IR overridden properties of inherited interface missing
  • KT-50504 KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields
Tools. Gradle
  • KT-51837 kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.
Tools. Gradle. Multiplatform
  • KT-51810 MPP / Gradle: Dependency locking fails with 1.6.20
  • KT-51765 com.android.lint in multiplatform project without android target should not trigger warning
Checksums
File Sha256
kotlin-compiler-1.6.21.zip 632166fed89f3f430482f5aa07f2e20b923b72ef688c8f5a7df3aa1502c6d8ba
kotlin-native-linux-x86_64-1.6.21.tar.gz 14e7b9bee2e9ef7bff9a69881fef44d287bbb3adaa05396e0c03e77dfc9b0d3d
kotlin-native-macos-x86_64-1.6.21.tar.gz 61dfee00b11f3c27e349854b9a9d530ed86a882e6c8a81f77f16acecf9660eeb
kotlin-native-macos-aarch64-1.6.21.tar.gz c2734c651e680b85805c17488f31125220d96eca8e3ba89b5b58f07c61ff5239
kotlin-native-windows-x86_64-1.6.21.zip db8560138580038c23e88a7ceb6eb4e8a3ec7d7fd66218e82096d52402f280a8

v1.6.20: Kotlin 1.6.20

Changelog
Compiler
New Features
  • KT-48217 Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is used
  • KT-49929 [FIR] Support programmatic creation of annotation class instances
  • KT-49276 Warn about potential overload resolution change if Range/Progression starts implementing Collection
  • KT-47902 Do not propagate method deprecation through overrides
  • KT-49857 Require Xcode 13 for building Kotlin/Native compiler
  • KT-47701 Support instantiation of annotation classes on Native
  • KT-46085 Support experimental parallel compilation of a single module in the JVM backend
  • KT-46603 Generate SAM-conversions to Java interfaces extending 'java.io.Serializable' as serializable using java.lang.invoke.LambdaMetafactory
Performance Improvements
  • KT-50156 HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker)
  • KT-50073 Performance regression in adapted function references
  • KT-50076 Performance regression in super call to an interface member in $DefaultImpls
  • KT-50080 Performance regression in string template with generic property with primitive upper bound
  • KT-50084 Performance regression in concatenation with 'String?'
  • KT-50078 Performance regression in for-in-array loop
  • KT-50039 Performance regression in inner class constructor call with default parameters
  • KT-48784 An anonymous class has fields for variables that are only used in the constructor
  • KT-42010 Generate IINC instruction for postfix increment in JVM_IR
  • KT-48433 JVM_IR don't generate null check on 'this$0' parameter of inner class constructor
  • KT-48435 JVM_IR ConstForLoopBenchmark performance regression
  • KT-48507 JVM_IR ForLoopBenchmark regressions
  • KT-48640 Performance regression in 'longDownToLoop' benchmarks
  • KT-29822 Generate specialized bytecode for loops withIndex over unsigned arrays
  • KT-48669 Generate optimizable counter loop for loops over indices of unsigned arrays
  • KT-49444 Possible performance degradation with UInt downTo loop
  • KT-48944 Possible performance regression with comparison of local KFunctions
  • KT-17111 Eliminate redundant store/load instructions when the value stored is simple
  • KT-36837 Generate more compact code for for-in-range loop in JVM_IR
  • KT-48947 JVM / IR Possible performance regression with string templates
  • KT-48931 JVM / IR: Performance degradation with string concatenation
  • KT-36654 Generate more compact bytecode for safe call in JVM_IR
Fixes
  • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
  • KT-51747 Make KtCallableDeclaration.getContextReceivers default to preserve compatibility
  • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
  • KT-43493 NI: @​BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'"
  • KT-51649 Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functions
  • KT-48626 JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723
  • KT-51036 JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion object
  • KT-51471 Native: incorrect debug information when inheriting suspend fun invoke implementation
  • KT-51352 "ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receivers
  • KT-51271 "ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context function
  • KT-47084 JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambda
  • KT-30616 Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum)
  • KT-50520 "NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder
  • KT-51353 IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK
  • KT-48945 JVM IR: special bridge for get is not generated in a Map subclass
  • KT-48499 Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file.
  • KT-49998 JVM: missing default value for annotation parameter of an unsigned type
  • KT-49793 JVM: IncompatibleClassChangeError: Expected non-static field when property delegation uses receiver of another delegated property
  • KT-51302 Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformer
  • KT-51148 "AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parameters
  • KT-50970 Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targets
  • KT-50843 Kotlin/Native: LLVM constant merge pass does not work for Kotlin constants
  • KT-51157 JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameter
  • KT-50498 Exception after analysing an erroneous lambda
  • KT-50258 equals() returns false on the same enum instances if we check it for the second time in when
  • KT-51062 Progressions resolve changing warning isn't reported for Java methods
  • KT-48544 JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference ::arrayOf
  • KT-50978 [Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341)
  • KT-50977 [Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229)
  • KT-50976 [Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157)
  • KT-51040 Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operator
  • KT-51080 Line number in mapping for the first instruction is lost
  • KT-49526 JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximated
  • KT-50399 Error: unexpected variance in super type argument: out @0
  • KT-50649 JVM IR: ClassCastException when returning Result as generic type
  • KT-50617 JVM IR: java.lang.IndexOutOfBoundsException "Empty list doesn't contain element at index 0" when class and interface have the same name and extension function is used
  • KT-50856 SAM conversion generates invalid bytecode for generics
  • KT-45693 False negative INCOMPATIBLE_TYPES with when with generic subject
  • KT-49903 JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.out
  • KT-51022 Fix error messages for resolution ambiguity with stub types
  • KT-51035 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java function
  • KT-50797 Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying type
  • KT-50878 Usage of contextual declarations from third-party library is allowed without -Xcontext-receivers
  • KT-49829 Wrong "cast can never succeed" diagnostic with builder inference
  • KT-49828 Improve builder inference diagnostics with overload resolution ambiguity
  • KT-50989 CCE cause by EmptySubstitutor in ResolutionWithStubTypesChecker
  • KT-49729 Implement deprecation warning for private constructors of sealed classes
  • KT-49349 Implement deprecation for invalid if as expression in rhs of elvis
  • KT-46285 [SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfaces
  • KT-49002 Allow OptIn marker on override if base class has the same marker
  • KT-48899 Report warnings on overrides with wrong types nullability
  • KT-49461 Implement prohibitation of access to members of companion of enum class from initializers of entries of this enum
  • KT-49754 Kotlin/JS: @JsExport on enum class reports NON_EXPORTABLE_TYPE warning
  • KT-49598 Misleading error message "Using @​JvmRecord is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled"
  • KT-44133 Inline classes: class literal in annotation arguments uses underlying type
  • KT-47703 ClassCastException: Programmatically created annotation can't hold Array<KClass<*>>
  • KT-47549 JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside "fun interface" in another file
  • KT-50120 HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usages
  • KT-49864 JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all mode
  • KT-49812 JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same name
  • KT-49936 Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generated
  • KT-48181 "ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.Metadata
  • KT-50215 VerifyError caused by missing cast after is check in when
  • KT-49977 "Parameter specified as non-null is null" when inline class implements interface method with default parameters
  • KT-50385 DUPLICATE_LABEL_IN_WHEN is reported on incorrect branches
  • KT-49092 JVM: ArrayIndexOutOfBoundsException on compiling call with if expression and TODO() arguments
  • KT-48987 JVM / IR: Smartcast, which never succeed, crashes the compiler
  • KT-50277 Invalid bytecode generated for inline lambda in suspend function
  • KT-50219 FIR DFA/CFA: no smart cast after null check and assignment
  • KT-44561 FIR DFA: extract non-null info from comparison against variable with initial constant value
  • KT-44560 FIR DFA: propagate non-null info to original variables in not-null assertion or cast expression
  • KT-50278 FIR: accidental resolve to inaccessible value parameter
  • KT-47483 JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODO
  • KT-50304 EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertype
  • KT-49765 JVM: ClassCastException when trying to add object to EmptyList
  • KT-46879 "AssertionError: Stack should be spilled before suspension call" with Flow and reified type
  • KT-50172 "AssertionError: Not a callable reflection type" on local function reference with the same name as local variable
  • KT-49443 JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function call
  • KT-50193 Garbage collection is not working the same way after jvm-ir-backend change
  • KT-19424 Compilation exception for script with property delegate calling operator invoke on an object
  • KT-43995 Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on list
  • KT-47000 Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) mode
  • KT-50180 FIR: not enough information to infer type variable for definitely not null type
  • KT-50163 FIR: ISE unsupported compile-time value BLOCK on complex annotations
  • KT-50171 JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambda
  • KT-50140 Internal error on explicit string concatenation of generic type value with 'String' upper bound
  • KT-49992 Anonymous object should not have access to private members from supertypes
  • KT-49973 Check existing of default error message for all diagnostics
  • KT-50019 Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-references
  • KT-49645 JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value class
  • KT-50028 Incorrect implicit casts from Unit
  • KT-49615 JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambda
  • KT-49127 FIR: smart cast is not performed after comparison
  • KT-48708 Incorrect cast from Unit to Int
  • KT-48376 FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from try
  • KT-48113 FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform type
  • KT-48305 FIR: incorrect raw type cast
  • KT-48378 FIR: synthetic accessor lowering should not attempt to modify other files
  • KT-48634 FIR: false property-setter-function resolve cycle
  • KT-48621 FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmField
  • KT-48381 Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.kt
  • KT-48527 Native: top-level properties in files with @Test functions are initialized eagerly even if lazy initialization is enabled
  • KT-48559 IllegalArgumentException: Unexpected super type argument: * @ 0 during IR lowering
  • KT-48687 IR dump mismatch after deep copy with symbols in IR text test
  • KT-44811 [FIR] Exception in body resolve of new contracts
  • KT-48363 FIR behaves differently in case of resolution between classifier and top-level property
  • KT-48801 "AssertionError: Stack should be spilled before suspension call" with Flow and crossinline
  • KT-46389 JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signatures
  • KT-47797 Regression during migration to 1.6 in compiler
  • KT-47987 Can't infer a postponed type variable based on callable reference receiver type
  • KT-48446 "IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function reference
  • KT-48651 Collect intermediate annotations during type expanding
  • KT-48754 JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0
  • KT-45034 Use the new type inference for top-level callable references
  • KT-49001 OptIn marker should spread from class to its members, taking into account real dispatch receiver type
  • KT-49038 Generics are discriminated during callable references resolution (false negative)
  • KT-48954 JVM IR: IllegalAccessError when using Java method reference in constructor
  • KT-48284 JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolation
  • KT-49053 JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named file
  • KT-49106 JVM: infinite recursion with overridden default suspend interface method where override calls super
  • KT-45345 FIR DFA: FirDataFlowAnalyzer seems to add wrong type constraints for type parameters
  • KT-44513 FIR DFA: extract non-null info from x?.y!!
  • KT-44559 FIR DFA: propagate non-null info from not-null assertion (!!)
  • KT-49073 FIR: REDUNDANT_MODIFIER and DEPRECATED_MODIFIER_PAIR should be warnings
  • KT-46371 FIR: Investigate FunctionType -> ExtensionFunctionType coercion
  • KT-49078 FIR: false positive TYPE_VARIANCE_CONFLICT
  • KT-47135 FIR: local class references does not compile
  • KT-48600 NON_TAIL_RECURSIVE_CALL missing for calls inside lambda
  • KT-48602 NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singleton
  • KT-48982 JVM / IR: KotlinNothingValueException caused by function with local object
  • KT-49087 FIR: false positive REPEATED_ANNOTATION
  • KT-48648 JVM IR: "AssertionError: Should be primitive or nullable primitive type" with @​JvmField generic property with Number upper bound
  • KT-49069 FIR: False positive INAPPLICABLE_JVM_NAME on getter
  • KT-49203 JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var and plusAssign operator convention call
  • KT-48993 JVM / IR: "IllegalStateException: Validation failed in file <multi-file facade ...>" using @​JvmMultifileClass and one of the symbols in the file exposes a @​JvmInline value class
  • KT-48938 FIR: Investigate how priorities should work in case SAM-conversion + type parameters
  • KT-49129 FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS
  • KT-49076 FIR: false positive "An annotation argument must be compile-time constant" on array of imports
  • KT-49222 FIR: StackOverflow in MethodSignatureMapper
  • KT-49083 FIR erroneously requires default value parameters for override calls when imported from object
  • KT-49135 FIR: ambiguity between type alias and function
  • KT-49134 FIR makes no difference between lambda with empty parameter list and without explicit parameter list
  • KT-49301 FIR: Unresolved reference: for object inherited from inner class
  • KT-49070 FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflict
  • KT-49133 FIR: protected java.lang.Throwable constructor is not available
  • KT-49407 JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argument
  • KT-44975 SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error message
  • KT-38698 MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a "class"
  • KT-45001 Confusing warning message "This class can only be used with the compiler argument" for @OptIn annotation
  • KT-49411 JVM / IR: NullPointerException during IR lowering with @JvmField property in loop range
  • KT-49260 FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchy
  • KT-49289 FIR: false positive "return required" for if/else with inlined return in branch
  • KT-49316 JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modify val from the other package
  • KT-45915 NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPS
  • KT-49288 FIR2IR: consider generating all fake override calls properly
  • KT-42784 FIR2IR: first create fake overrides, then bind overridden to them
  • KT-48816 Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unbound
  • KT-49372 JVM / IR: Incorrect work of the loop optimization for mutable variable
  • KT-49356 Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inline
  • KT-49659 JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modules
  • KT-47101 Incorrect scope for supertypes in companion objects
  • KT-49360 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"
  • KT-48430 JVM: ClassCastException with inline class as generic argument for type parameter used in a function type
  • KT-49575 IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPS
  • KT-47669 IR inliner doesn't handle inner class functions referring outer this
  • KT-48668 JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycle
  • KT-49370 JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argument
  • KT-46744 Memory Leaks in Kotlin daemon
  • KT-48806 False-negative USED_AS_EXPRESSION for unreachable catch clauses
  • KT-45972 FIR: type is incorrectly resolved to private
  • KT-46968 Remove FirCompositeScope from type resolve
  • KT-49072 FIR: accidental resolve to private-in-file type
  • KT-34822 FIR scopes: deal with nested / inner classes and type parameter priority
  • KT-49702 Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritor
  • KT-49860 [FIR] Add smartcast expression to synthetic subj access
  • KT-49836 Inference fails on lambda and adjacent function expressions with receiver
  • KT-49832 Inference fails on lambda for function types with extension parameter
  • KT-44022 Excessive diagnostics range for DECLARATION_CANT_BE_INLINED
  • KT-48690 VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language version
  • KT-49609 Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error message
  • KT-49600 Misspelled error message for non-constructor properties with backing fields in @​JvmRecord class
  • KT-49339 Warn about synchronizing on value classes
  • KT-49950 Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptor
  • KT-43604 Problem with initialization order
  • KT-23890 Default arguments are not transferred from expect generic member functions
  • KT-48811 Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled)
  • KT-48106 FIR: incorrect type inference in provideDelegate receiver
  • KT-48325 Safe call operator prevents object from being garbage collected before leaving function
  • KT-50004 Linking kotlinx.serialization crashes on Native and JS IR backends
  • KT-49311 Missing FIR checker for unresolved references in import statement
  • KT-48104 FIR does not see NotNull/Nullable annotations on type arguments
  • KT-46812 [FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0
  • KT-37374 [FIR] Add CheckInfixModifier resolution stage
  • KT-38351 FIR: Support CheckOperatorModifier resolution stage
  • KT-39614 [FIR] Fix building CFG for different candidates of plus assign call
  • KT-40197 [FIR] Strange Behaviour of Type Arguments
  • KT-40362 [FIR] Match type arguments with type parameters of corresponding qualifier
  • KT-40375 FIR: No transformation implicit type -> error type for function value parameters
  • KT-40585 [FIR] Incorrect type for 1/1.0
  • KT-42525 [FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUE
  • KT-43359 FIR: Check applicability type for callable reference with unbound receiver
  • KT-43378 FIR: Support or prohibit via call checker callable references to member extensions
  • KT-43289 FIR: Correctly load irrelevant override for special built-ins
  • KT-44558 Annotation arguments const expr support is missing in FIR
  • KT-45223 [FIR] Ambiguity between explicit and synthetic removeAt
  • KT-42215 FIR: callable reference resolution with type constraints at call-sites
  • KT-45520 FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALL
  • KT-46410 [FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graph
  • KT-46421 FIR: Investigate builder-inference cases
  • KT-43948 FIR: hidden unresolved callable reference
  • KT-46558 FIR DFA: run once contract is not considered when analyzing lambda
  • KT-47125 FIR: Do not avoid trivial constraints if they aren't from upper bounds
  • KT-43691 FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finally
  • KT-37311 [FIR] Support inference of callable references with type variable as expected type
  • KT-31972 Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@1f5b38c2 (ErrorType).
  • KT-48761 Report NO_TAIL_CALLS_FOUND on 'tailrec' modifier, not on the whole function header
  • KT-47647 NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameter
  • KT-46995 Fix setters implicit types only resolved on full body resolve
  • KT-46359 Kotlin 1.5 lambda is not Java-serializable by default
  • KT-49282 FIR: suspend conversion does not work inside suspend lambda
  • KT-48953 FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER
  • KT-38813 FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headers
  • KT-49657 FIR: accidental override with get:JvmName
  • KT-49655 FIR: smart cast is not performed after update of var to not-null value in branch
Docs & Examples
  • KT-50866 [Docs] [Kotlin/Native] Support non-NativeActivity Android executables
  • KT-50220 [Docs] [Kotlin/JVM] New @​JvmDefaultWithCompatibility annotation and changes in -Xjvm-default arguments behavior
  • KT-50844 [Docs][K/JS] KJS / IR: Installation of NPM dependencies should be with ignore-scripts
  • KT-50831 [Docs][K/JS] Gradle, JS: Ability to persist / reuse yarn.lock
  • KT-51086 [Docs] [Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`
  • KT-50563 [Docs] [Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property
  • KT-50580 [Docs] [Kotlin/Native] Support instantiation of annotation classes on Native
  • KT-50874 [Docs] [Language] Add ability to specify generic type parameters as not-null
  • KT-50564 [Docs] [K/JS] Ensure that @​AfterTest is invoked after the @Test function completes for asynchronous tests
IDE
New Features
  • KTIJ-20169 Link to What's new in a notification about new Kotlin version
Performance Improvements
  • KTIJ-20568 Optimize SubpackagesIndexService#hasSubpackages
Fixes
  • KTIJ-13020 New compiler settings are applied only after the project is reloaded
  • KTIJ-21154 StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off"
  • KTIJ-20129 Load "@NotNull T" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullable
  • KTIJ-9793 UAST: KotlinAbstractUElement.equals fails for psi-less elements
  • KTIJ-16203 UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression
  • KTIJ-18720 UAST: @Deprecated(level=DeprecationLevel.HIDDEN) makes method visibility be dropped
  • KTIJ-18039 @Deprecated(level=HIDDEN) elements return false for isDeprecated()
  • KTIJ-18716 KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotations
  • KTIJ-20220 Kotlin plugin crashes very often
  • KTIJ-20308 Syntax highlighting is temporary suspended for file ... due to internal error
  • KTIJ-6085 Exception Incorrect CachedValue... with KtUltraLightMethodForSourceDeclaration
  • KTIJ-18977 Do not show warning Outdated bundled kotlin compiler if there are no compatible plugin with newer compiler
  • KTIJ-20253 Consider supporting special highlighting for definitely non-null types
  • KT-42194 OOME: Java heap space from incremental compilation
  • KTIJ-13019 "Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloaded
IDE. Completion
  • KTIJ-20095 Optimize FilterOutKotlinSourceFilesScope#contains
  • KTIJ-16250 Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entries
IDE. Debugger
  • KTIJ-20716 JVM Debugger in common code can't get JVM-specific view on common code and fails
  • KTIJ-18562 JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression"
  • KTIJ-20019 MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/Watcher
  • KTIJ-19990 MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception.
  • KTIJ-20929 MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common context
  • KTIJ-20956 Debugger: coroutine debugger fails to load sometimes
  • KTIJ-20775 MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception.
  • KTIJ-20712 MPP Debugger: evaluator fails when evaluating expect function
  • KTIJ-19344 K/N debugger shows all types as ObjHeader in variable view.
IDE. Gradle Integration
  • KTIJ-20097 HMPP+Android Project that depends on pure Android Lib fails to import in IDEA
  • KTIJ-20756 MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly'
  • KTIJ-20745 Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20
  • KT-47570 MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source sets
  • KTIJ-19541 IDE: Kotlin Facets aren't created for Gradle projects added via includeBuild
  • KT-48882 MPP IDE import: Failing cinterop Gradle tasks shall not fail import
  • KTIJ-18135 MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does not
IDE. Inspections and Intentions
New Features
  • KTIJ-12437 Add inspection to detect redundant (obsolete, unused) @OptIn annotations
  • KTIJ-15780 Add quickfix for migration of Experimental -> RequiresOptIn
  • KTIJ-18865 Provide quick fixes for OptIn markers on forbidden targets
  • KTIJ-18439 Make suggestions for applying opt-in quickfixes more distinct
  • KTIJ-19985 Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnostic
Fixes
  • KTIJ-20550 False positives in "Unnecessary @OptIn annotation" inspection
  • KTIJ-20993 Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable code
  • KTIJ-20557 Quick fix to add Any as an upper bound for type parameter to make it non-nullable
  • KTIJ-20827 Process type mismatch compiler warnings to provide a corresponding quick fix
  • KTIJ-12578 "Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritance
  • KTIJ-20425 Quick fix to replace @NotNull parameter type T with a definitely non-nullable type T & Any
  • KTIJ-19997 Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red code
  • KTIJ-18291 Quickfix "Add @OptIn() annotation" adds the annotation to primary constructor when invoked on primary constructor parameter
  • KTIJ-19512 Implement IDE support for new rules of deprecation inheritance
  • KTIJ-20156 Exception when applying 'Convert to with'
  • KTIJ-20290 Forbid "move to constructor" intention if class contains secondary constructor
  • KTIJ-20288 Forbid "move to constructor" intention for actual classes with actual constructor
  • KT-49736 Introduce import alias fails when qualifier is unresolved
  • KTIJ-18743 "Redundant nullable return type" applied on actual method doesn't change the signature of expect
  • KTIJ-12343 Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclasses
  • KTIJ-19406 The "Add @OptIn(...)" quick fix does not shorten the annotation when adding an argument to the existing annotation
  • KTIJ-12351 generate equals & hashCode() by identity intention generates incompilable code for multiplatform project modules
  • KTIJ-13227 Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter already
  • KTIJ-11328 No quick fixes are suggested for annotation from experimental API used with file target
  • KTIJ-14427 Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotation
  • KTIJ-19735 NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin master
IDE. Navigation
IDE. Refactorings. Extract Function
  • KTIJ-10026 Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming from NotNull or Nullable Java methods
  • KTIJ-15823 Refactor / Extract Function: resulted declaration gets no @OptIn from original function when necessary
IDE. Refactorings. Move
  • KTIJ-5661 [Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration moving
IDE. Wizards
  • KTIJ-19232 New project wizard: delete MPP Mobile-Library and Application templates
  • KTIJ-20878 Unable to create project with Kotlin Project Wizard when JDK 17 is used.
  • KTIJ-20244 Compose MPP project from wizard requires minCompileSdk=31
  • KTIJ-20781 Update kotlin-wrappers version in wizard
JS. Tools
  • KT-47387 KJS: Support Apple Silicon for node distrib download
JavaScript
New Features
  • KT-44494 KJS / IR: Allow enum classes to be exported
  • KT-43224 KJS: Allow using inline classes in external types
  • KT-35100 Make Char inline class in K/JS
  • KT-42936 KJS IR: Support js-code test directives similar to legacy
  • KT-47525 KJS / IR: Support protected members in d.ts generation
  • KT-50110 KJS / IR: Enable properties lazy initialization by default
Performance Improvements
  • KT-46443 KJS / IR: Improve CharArray and Char performance
  • KT-45665 KJS / IR: equals on inline value classes is boxed
  • KT-43644 KJS / IR: Avoid creating lambda classes
Fixes
  • KT-51685 KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2
  • KT-51523 KJS IR: "Uncaught TypeError: a._get_length__2347802853_w7ahp7_k$ is not a function"
  • KT-51700 KJS / IR: Compiler uses wrong function with List
  • KT-51222 KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with @​JsExport are broken
  • KT-45054 KJS: Export secondary constructors as class static methods
  • KT-37916 KJS: .d.ts generation not working for enum classes
  • KT-48199 KJS / IR: Improve error message for linkage problems
  • KT-51030 KJS / IR: internal class that implements public interface is missing getters
  • KT-45434 KJS: "WRONG_EXPORTED_DECLARATION" when using JsExport on interfaces
  • KT-50934 KJS / IR: Re-export all JS-exports from the main module for the multi-module mode
  • KT-45620 KJS / IR: Remainder of division of Int.MIN_VALUE by -1 is negative zero (-0)
  • KT-44981 KJS / IR crashes on kotlin.js.js calls with complex constexpr
  • KT-41964 KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedly
  • KT-50682 Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializers
  • KT-50175 Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazy
  • KT-40236 KJS: IR. Invalid override for external field with @JsName
  • KT-46525 KJS / IR: Generate context-dependent names for lambdas and object expressions
  • KT-49779 KJS / IR: Exported abstract class implementing interface not export interfaces member in d.ts
  • KT-49773 KJS / IR: Exported enum implementing interface
  • KT-41912 KJS / IR: generates invalid defineProperty methods for class hierarchies
  • KT-46225 KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile time
  • KT-50528 Kotlin/JS: IR + IC: TypeError: "combined.get_icpjjy_k$ is not a function" for code calling GlobalScope.launch {}
  • KT-50512 KJS / IR: IC failed with const val in inline fun
  • KT-49738 Ensure that @​AfterTest is invoked after the @Test function completes for asynchronous tests
  • KT-45542 KJS / IR: "IllegalStateException" for method with default argument in expect class
  • KT-50464 KJS IR: Functions with optional parameters and stable names are exported without @JsExport
  • KT-43374 KJS / IR: "class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement" caused by if-else expression inside when
  • KT-20791 ushr Behavior differs in Javascript and Java targets
  • KT-49844 KJS / IR: "IllegalStateException: IrSimpleFunctionSymbolImpl is already bound" with callable reference
  • KT-46961 KJS / IR: "IllegalStateException: Can't find name for declaration" when external object contains enum class
  • KT-43191 KJS / IR: static companion field is not static in d.ts
  • KT-39891 [KJS / IR] String interpolation and byte shift round Long value
  • KT-50040 JS IR: "Function must be an accessor of corresponding property" exception on private properties with getter in an exported class
  • KT-49878 Kotlin/JS, IR: incremental compilation fails with CCE: "class StageController cannot be cast to class WholeWorldStageController"
  • KT-46202 KJS / IR: "IllegalStateException" on exported value class
  • KT-42039 KJS / IR: JsQualifier annotation can cause conflicts with built-in functions
  • KT-39364 KJS: Can't export sealed class/object with subclasses inside the body to typescript definition
  • KT-47360 KJS / IR: js() function with string val
  • KT-47376 KJS / IR: Incorrect d.ts generation for sealed classes
  • KT-47767 KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealias
  • KT-47342 KJS / IR: "StackOverflowError" on InlinerTypeRemapper.remapTypeArguments
  • KT-46218 KJS / IR: Incorrect result for local tailrec function called from capturing inline lambda
  • KT-45056 KJS / IR: Inconsistent ordinal property value for enum classes
  • KT-47096 KJS / IR: Console.log introduces spaces between each character
  • KT-47516 KJS / IR: Wrong behavior when trying to access property in enum entry
  • KT-47806 KJS / IR: "IllegalStateException" with invocation of extension function with generic and lambda parameter on String.Companion
  • KT-49225 KJS: Default value for value class parameter is not considered
  • KT-49326 KJS / IR: Overridden properties should not be exported
  • KT-49363 KJS / IR: Nested declarations inside exported object are not exported
  • KT-49300 KJS: Source map generator leaks source files descriptors when source embedding is enabled
  • KT-40525 KJS IR: investigate issues with using kotlin-wrappers
  • KT-50197 KJS IR: using APIs in different packages but with same method name generates clashes
  • KT-45958 KJS: Line breaks are missing in js files after If-expression
  • KT-40213 KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771
  • KT-50152 Kotlin/JS: with incremental compilation browserRun / nodeRun produce no output
  • KT-50315 Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition"
  • KT-50203 JS IR BE: new IC for lowerings
  • KT-43250 KJS / IR: "Can't find name for declaration FUN" with Json#encodeToString as function reference
  • KT-46992 KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdas
  • KT-49776 KJS / IR: inliner doesn't handle inner class functions referring outer this
  • KT-49849 KJS / IR: Access of exported member properties should be by its stable name
  • KT-49850 KJS / IR: Member properties in exported class should be getter/setter in d.ts
Language Design
  • KT-19423 Script: reference from class to script top-level member is incompilable
  • KT-21197 Support cross platform common implementations
  • KT-42435 Prototype multiple receivers
  • KT-48385 Deprecate confusing grammar in when-with-subject
  • KT-49542 FIR: Smart cast may lead to inconsistent inference result
  • KT-23727 Internal declarations from other module in star imports should have lower priority than public declarations from default imports
  • KT-50251 Support language version 1.3 in Kotlin 1.6.20
  • KT-17765 Ambiguity between SAM adapters when one SAM interface is sub type of another
  • KT-10926 False overload resolution ambiguity when both vararg and collection match
  • KT-41214 JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes
Libraries
  • KT-44089 Java version checking doesn't work on Android
  • KT-50033 Some packages of kotlin-stdlib with public API are not exported in module-info
  • KT-48367 Using synchronized on captured object leads to slow JVM execution
  • KT-49721 KJS: Regex("\b").findAll yields infinite sequence when a zero length match is found before a surrogate pair (e.g. emoji)
Native
New Features
  • KT-49463 --dry-run flag for llvm_builder/package.py
Fixes
  • KT-51359 Native: the compiler doesn't work on macOS 12.3 Beta
  • KT-49144 Kotlin/Native executable early segmentation fault
  • KT-49348 KONAN_NO_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGet
  • KT-42500 KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the path
  • KT-49395 K/N: After 1.5.20, compiling code including KSuspendFunction3 to framework leads to "Assertion failed at parametersAssociated"
  • KT-49967 Kotlin iOS regex issue
  • KT-49873 Native does not sort Strings correctly
  • KT-49347 androidNativeArm32 binaries crash when using atomic operations
  • KT-49597 Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phase
  • KT-49790 "Undefined symbols" error when linking project with kotest 5.0.0.RC and Kotlin 1.6
Native. Build Infrastructure
  • KT-48625 Native: distribution doesn't contain sources for kotlin.test
Native. C Export
  • KT-47828 Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabled
Native. C and ObjC Import
  • KT-35059 Better "could not build module" cinterop report
  • KT-49768 Kotlin/Native: Add -Xoverride-konan-properties to cinterop.
Native. ObjC Export
  • KT-47399 Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnit
  • KT-48282 Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/Swift
  • KT-46866 Memory consumption / performance of Kotlin classes with String property in KMP project on iOS Swift
Native. Platform Libraries
  • KT-50045 Kotlin/Native: Re-enable disabled Hypervisor framework
  • KT-47331 Kotlin/Native: support Xcode 13 SDKs
Native. Platforms
  • KT-48078 Native: Support non-NativeActivity Android executables
Native. Runtime
  • KT-48424 Support resolving source locations using libbacktrace
  • KT-51586 SIGSEGV on worker7 test
  • KT-50491 Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager
Native. Runtime. Memory
  • KT-50879 Kotlin/Native: Stabilize Concurrent Sweep GC
  • KT-50948 Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduled
  • KT-49497 iOS Swift "runtime assert: Must be positive" and "runtime assert: cycle collector shall only work with single object containers"
  • KT-50026 Kotlin/Native: Make AtomicReference behave like FreezableAtomicReference with the new MM
  • KT-49013 Kotlin/Native: Correctly switch thread state to native for spin locks
Native. Testing
  • KT-48561 Test sideEffectInTopLevelInitializerMultiModule fails with new MM
Reflection
  • KT-50198 Reflection: NPE from kotlin.jvm.internal.Intrinsics.areEqual with Spock
Tools. Android Extensions
  • KT-50784 kotlin-android-extensions produces unbound symbol under _$_findViewCache
  • KT-50627 NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10
  • KT-50887 kotlin-android-extensions plugin breaks when package attribute missing from AndroidManifest.xml
Tools. CLI
  • KT-51309 Add JVM target bytecode version 18
  • KT-48027 "Module ... cannot be found in the module graph" with module-info in META-INF/versions
  • KT-50695 Compiling into IR backends with language version 1.3 is not rejected
  • KT-46329 Deprecated -Xjvm-default values are not reported
  • KT-51025 JVM CLI compiler takes class file from classpath instead of input java source file
  • KT-50889 AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform with expectActualLinker=true flag
  • KT-48417 CLI: boolean -X arguments accept a value after '=' which is ignored
  • KT-11164 Allow running class files with '.class' extension in 'kotlin' script
  • KT-46171 NoClassDefFoundError produced when running kotlin script
Tools. Commonizer
  • KT-48568 [Commonizer] timespec properties are not commonized in kotlinx.coroutines
  • KT-46257 MPP: Stdlib included more than once for an enabled hierarchical commonization
  • KT-49735 [Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets
  • KT-48856 MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platform
  • KT-48288 [Commonizer] platform.posix.timespec.tv_sec not commonized in OKIO
  • KT-47574 [Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type arguments
  • KT-48221 MPP: Too few targets specified if platform test source set depends on main
  • KT-47100 [Commonizer] Commonize underlying type-alias types
Tools. Compiler Plugins
  • KT-50718 Unable to serialize an object with a generic field
  • KT-50764 Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvm
  • KT-46444 JVM IR, serialization: "AssertionError: No such value argument slot in IrConstructorCallImpl: 0" with KSerializer of ClosedRange
Tools. Daemon
  • KT-47522 Provide reasonable resolution strategy for OutOfMemoryError during compilation
  • KT-51116 OOM user-friendly message isn't displayed if there is main exception caused by out of memory
Tools. Gradle
New Features
  • KT-48620 Add build information into Gradle build scan
  • KT-41689 Support statistics for Configuration Cache
  • KT-49299 Add more flexible way for defining Kotlin compiler execution strategy
  • KT-21056 Kotlin Gradle Plugin tasks execution should be parallelized by default
Performance Improvements
  • KT-50664 Compile speed regression going from Kotlin 1.5.31 to 1.6.10 for incremental changes when Java class in a dependent child module w/ kapt is modified w/o a method/class signature change
  • KT-48884 Configuration performance regression in Kotlin Gradle plugin 1.5.30
  • KT-49782 Improve compilation task outputs snapshot performance
Fixes
  • KT-51501 Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.6.0-RC when applying Enterprise Plugin from initscript
  • KT-51588 Restoring from build cache breaks Kotlin incremental compilation
  • KT-50620 Gradle Kotlin Plugin crashes in CI due to hostname resolving issue
  • KT-49921 Setup basic release performance regression tests
  • KT-51177 After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource change
  • KT-48134 Debug log level causes build cache miss
  • KT-50719 Kotlin Gradle Plugin may hang on writing statistics
  • KT-48849 Cache miss due to empty directories in KotlinCompile inputs
  • KT-49014 Disable Explicit API is not possible
  • KT-48408 Build may fail with strict JVM target validation mode when project has no Kotlin sources
  • KT-49107 Configuration cache: undeclared kotlin.caching.enabled system property read
  • KT-50369 Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property
  • KT-48046 Gradle Throws Exception From Kotlin Plugin: destinationDir must not be null
  • KT-50037 Kotlin compile task registers more than one task action and their order of execution is counter-intuitive
  • KT-49772 Kotlin in-process compilation does not release file handles
  • KT-47215 KJS: "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" when running kotlinNpmInstall or rootPackageJson locally
  • KT-46406 Remove 'kotlin.parallel.tasks.in.project' build property
Tools. Gradle. JS
Performance Improvements
  • KT-49037 KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemon
Fixes
  • KT-51060 KJS / IR: Incorrect order of libraries with IC
  • KT-49061 KJS / Gradle: Custom package.json handlers break configuration cache
  • KT-35640 Kotlin/JS: Gradle: DCE devMode = true setting has no effect on incremental build
  • KT-49095 KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in project
  • KT-49253 KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs'
  • KT-49902 Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scripts
  • KT-49808 KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuse
  • KT-49530 KJS: Update Node.JS and Yarn
  • KT-50930 KJS / IR: Incremental compilation cache building not consider multiple artifacts
  • KT-50485 KJS / IR: Enable per-module by default
  • KT-49445 KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0
  • KT-38040 Make Chrome Headless use "--no-sandbox" (configurable) - for Docker
Tools. Gradle. Multiplatform
  • KT-46198 [Commonizer] c-interop commonization: Support publishing libraries compiled with commonized c-interop libraries
  • KT-41641 MPP: NoSuchElementException: "Collection is empty" when android library is added but android() source set isn't
  • KT-50567 commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to true
  • KT-50592 [Gradle][MPP] Mitigate isolated KGP classpath issues
  • KT-51176 CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp
  • KT-49089 An annotation class annotated with @​OptionalExpectation can not be used in another module with HMPP enabled
  • KT-48818 False positive warning about used enableDependencyPropagation flag with enabled hierarchical mpp by default
  • KT-49596 Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata file
  • KT-41823 Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadata
  • KT-50574 Only enable cinterop metadata transformation when 'kotlin.mpp.enableCInteropCommonization' is set
Tools. Gradle. Native
New Features
  • KT-47633 Accept version when configuring cocoapods for kotlin/native
  • KT-42630 CocoaPods Gradle plugin: Allow customization of podspec properties
  • KT-48553 Kotlin/Native: use Gradle Shared Build Service to read konan.properties
  • KT-47529 Read list of opt-in cacheable native targets from konan.properties
Fixes
  • KT-49330 commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension"
  • KT-49484 Kotlin/Native: XCFramework should include dSYM files for release artifacts
  • KT-47768 Gradle MPP plugin: K/N targets break task configuration avoidance for assemble task
  • KT-49971 Make 'embedAndSignAppleFrameworkForXcode' task visible for users
  • KT-43815 [CocoaPods Plugin] Pod name cannot be changed
  • KT-50105 Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel task
  • KT-42105 Multiplatform Cocoapod kotlin plugin doesn't support repo distribution
  • KT-48808 XCFramework task fails when using static debug frameworks
  • KT-42755 Cocoapods plugin using backslashes on Windows
Tools. JPS
  • KT-51434 Language version 1.7 is absent in Kotlin Compiler settings
  • KT-48399 Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6
  • KT-49177 JPS: Kotlin compiler doesn't recompile file that references Java constant in class body
  • KT-46506 JPS: Kotlin compiler doesn't recompile file that references Java constant
  • KT-47909 UtilsKt.recordPackageLookup is slow
  • KT-47857 Class loaders clash when building kotlin project with FIR with JPS without daemon
  • KT-45773 Improve quality of JPS incremental compilation
Tools. Kapt
  • KT-41456 Kotlin compilation failure after successful kapt causes invalid incremental builds
  • KT-48402 Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30
  • KT-48617 Cache miss due to empty directories in KaptGenerateStubsTask inputs
  • KT-48450 Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`
  • KT-32596 kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation
  • KT-48826 Deprecate 'kapt.use.worker.api' property
  • KT-47002 Kapt: warning mentions non-effective property kapt.includeCompileClasspath
Tools. Maven
  • KT-50306 Configured plugin dependencies should be available in kotlin-maven-plugin scripts
Tools. Parcelize
  • KT-19853 Parcelize: CREATOR field should be available from code
Tools. REPL
  • KT-20488 REPL: java.lang.InternalError: "Enclosing constructor not found" for class reference on an anonymous object literal
Tools. Scripts
  • KT-48758 Kotlin scripting: introduce a link from evaluation configuration to the compilation one
  • KT-48414 Script: get location of the script.main.kts file
  • KT-40497 “Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6.” for running script without specified jvm-target
  • KT-49329 Kotlin scripts are compiled with jvmTarget 1.8 by default and in many scenarios there is no way to redefine it, which lead to inlining errors e.g. with JDK 17
Tools. Wasm
  • KT-49893 Don't publish wasm targets with org.jetbrains.kotlin.js.compiler attribute
File Sha256
kotlin-compiler-1.6.20.zip daf17db1c194f4205f3af67129367a69b388f819177963dc53a7b4b2c4d8ce22
kotlin-native-linux-x86_64-1.6.20.tar.gz d967d6fd87056177ec520b00eee23b994389a1eb486c000af39d2d2fbbfbf3be
kotlin-native-macos-x86_64-1.6.20.tar.gz b53f93258b7ffe4b09e38cd6a5d87aed42a5d0f6f0fba6417e666e6ee12477f1
kotlin-native-macos-aarch64-1.6.20.tar.gz 3c86d8388d986005095a57e7c58ea6237ac4915ab238feb5613c89fd9a335b6a
kotlin-native-windows-x86_64-1.6.20.zip 241f40852388c51da303931e5c7a4f4c86adca8510d0bd7479b7ac65ce86e3cc

v1.6.10: Kotlin 1.6.10

Changelog
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 directive
  • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
  • KT-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.0
  • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
  • KT-49834 Coroutine method transformer generates invalid locals table.
  • KT-49441 Support friend modules in Kotlin Native
  • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
  • KT-49651 Inconsistent compiler APIs for repeatable annotations
  • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
  • KT-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 module
  • KT-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 jars
  • KT-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 Windows
  • KT-34014 Gradle, JS: Ability to persist / reuse yarn.lock
  • KT-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.6
  • KT-49340 "IllegalStateException: @NotNull method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation
Checksums
File Sha256
kotlin-compiler-1.6.10.zip 432267996d0d6b4b17ca8de0f878e44d4a099b7e9f1587a98edc4d27e76c215a
kotlin-native-linux-x86_64-1.6.10.tar.gz 9b42bd16b6accf009ea4cc8dc786dece079af55b6a637fecc1e8c1f4c0614d08
kotlin-native-macos-x86_64-1.6.10.tar.gz 607729bbd963d35e7df85647a8d01f25ae3112b1537edaababebc399cb8d4806
kotlin-native-macos-aarch64-1.6.10.tar.gz b4fc9e179540b4dc7de7b3a5a3548dad62b1247acc3e143305d13c4194cbca25
kotlin-native-windows-x86_64-1.6.10.zip 78b746551f58022727add4c609d7f42802b3ffc3d8163517b708a8c3355d33c1

v1.6.0: Kotlin 1.6.0

Changelog
Android
  • KT-48019 Bundle Kotlin Tooling Metadata into apk artifacts
  • KT-47733 JVM / IR: Android Synthetic don't generate _findCachedViewById function
Compiler
New Features
  • KT-47984 In-place arguments inlining for @​InlineOnly functions
  • KT-12794 Allow runtime retention repeatable annotations when compiling under Java 8
  • KT-43714 Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER)
  • KT-45949 Kotlin/Native: Improve bound check elimination
  • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
  • KT-48194 Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotation
  • KT-47736 Support conversion from regular functional types to suspending ones in JVM IR
  • KT-39055 Support property delegate created via synthetic method instead of field
Performance Improvements
  • KT-45185 FIR2IR: get rid of IrBuiltIns usages
  • KT-47918 JVM / IR: Performance degradation with const-bound for-cycles
  • KT-33835 Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullable
  • KT-41510 Compilation of kotlin html DSL is still too slow
  • KT-48211 We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declaration
  • KT-39054 Optimize delegated properties which call get/set on the given KProperty instance on JVM
  • KT-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 usage
  • KT-49548 "ClassCastException: java.util.ArrayList$Itr cannot be cast to kotlin.collections.IntIterator" with Iterable inside let
  • KT-22562 Deprecate calls to "suspend" named functions with single dangling lambda argument
  • KT-47120 JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same name
  • KT-49477 Has ran into recursion problem with two interdependant delegates
  • KT-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 inheritance
  • KT-44843 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with delegate who has name or parameter with the same name as a property
  • KT-49294 Turning FlowCollector into 'fun interface' leads to AbstractMethodError
  • KT-18282 Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyError
  • KT-25289 Prohibit access to class members in the super constructor call of its companion and nested object
  • KT-32753 Prohibit @​JvmField on property in primary constructor that overrides interface property
  • KT-43433 Suspend conversion is disabled message in cases where it is not supported and quickfix to update language version is suggested
  • KT-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-null
  • KT-49335 NPE in RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer when using @Repeatable annotation from different file
  • KT-48876 java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df
  • KT-48131 IAE "Repeatable annotation container value must be a class reference" on using Kotlin-repeatable annotation from dependency
  • KT-49322 Postpone promoting warnings to errors for ProperTypeInferenceConstraintsProcessing feature
  • KT-49285 Exception on nested builder inference calls
  • KT-49101 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number)
  • KT-41378 Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null[0] is not found
  • KT-47285 IR deserialization exception when dependency KLIB has class instead of typealias
  • KT-46697 IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null[0] compiling KMM module for Kotlin/Native with Kotlin 1.5
  • KT-36399 Gradually support TYPE_USE nullability annotations read from class-files
  • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
  • KT-18768 @Notnull annotation from Java does not work with varargs
  • KT-24392 Nullability of Java arrays is read incorrectly if @Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
  • KT-48157 FIR: incorrect resolve with built-in names in use
  • KT-46409 FIR: erroneous resolve to qualifier instead of extension
  • KT-44566 FirConflictsChecker do not check for conflicting overloads across multiple files
  • KT-37318 FIR: Discuss treating flexible bounded constraints in inference
  • KT-45989 FIR: wrong callable reference type inferred
  • KT-46058 [FIR] Remove state from some checkers
  • KT-45973 FIR: wrong projection type inferred
  • KT-43083 [FIR] False positive 'HIDDEN' on internal
  • KT-48794 Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferred
  • KT-46727 Report warning on contravariant usages of star projected argument from Java
  • KT-40668 FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopes
  • KT-37081 [FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absence
  • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
  • KT-45118 ClassCastException caused by parent and child class in if-else
  • KT-47605 Kotlin/Native: switch to LLD linker for MinGW targets
  • KT-48912 K/N Symbol with IrSimpleFunctionSymbolImpl is unbound and JS Validation failed in file shaders.kt
  • KT-44436 Support default not null annotations to enhance T into T!!
  • KT-49190 Increase stub versions
  • KT-48261 "overload resolution ambiguity" for JSpecify+jsr305-annotated Java List implementation
  • KT-48778 -Xtype-enhancement-improvements-strict-mode not respecting @NonNull annotation for property accesses?
  • KT-48606 [1.6] Instantiated annotations do not implement hashCode correctly/consistently
  • KT-49157 Tail-call optimization miss with cast to type parameter
  • KT-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" expression
  • KT-48590 IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(*) reified type class reference
  • KT-48633 Can't infer builder inference's type argument across local class
  • KT-49136 JVM IR: NPE with safe call chain and property set to null by reflection
  • KT-48570 OptIn marker should not spread from class to its members
  • KT-48928 Prohibit using old JVM backend with language version >= 1.6
  • KT-41978 NI: Kotlin fails to infer type of function argument
  • KT-48101 Smart cast on base class property is impossible if base class is from another module
  • KT-48732 JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registered
  • KT-47841 Turning LV to 1.6 breaks some diagnostics based on jspecify annotations
  • KT-48498 JVM IR: IllegalAccessError with inline function call and property delegation from different module
  • KT-48319 JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous function
  • KT-48835 Psi2ir: vararg parameter value is lost when translating adapted function reference to base class member
  • KT-46908 JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional type
  • KT-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 function
  • KT-48992 Postpone migration to new operator resolution scheme for integer literals
  • KT-48290 Type bounds warning based on Java annotations not issues with language level 1.6
  • KT-47920 There is no warning on violated nullability of type parameter in accordance with java nullability annotation
  • KT-41664 Remove the "runtime JAR files in the classpath should have the same version" warning
  • KT-48851 Keep using warn mode for jspecify in 1.6
  • KT-46829 IR: NullPointerException caused by setting scoped generic extension var
  • KT-42972 Forbid protected constructor calls from public inline functions
  • KT-45378 Prohibit super calls in public-api inline functions
  • KT-48515 JSpecify: If a class has a @Nullable type-parameter bound, Kotlin should still treat unbounded wildcards like platform types
  • KT-48825 JVM IR: NPE with delegated property "by this" to base class
  • KT-48535 Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning
  • KT-47928 Prohibit declarations of repeatable annotation classes whose container annotation violates JLS
  • KT-47971 Report error on declaration of a repeatable annotation class with nested class named Container
  • KT-48478 JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuation
  • KT-48523 Kotlin/Native: cross-compilation from Linux to MinGW not working when platform.posix is used
  • KT-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 Java
  • KT-48653 Warnings on non-exhaustive when statements missing in some cases with 1.6
  • KT-48394 JVM: Invalid locals caused by unboxing bytecode optimization
  • KT-20542 IllegalAccessError on calling private function with default parameters from internal inline function used in another package
  • KT-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 parameter
  • KT-48380 kotlin.RuntimeException: Unexpected receiver type
  • KT-47855 Kotlin/Native: compilation fails due to Escape Analysis
  • KT-48291 False positive [ACTUAL_MISSING] Declaration must be marked with 'actual' when implementing actual interface
  • KT-48445 "IAE: Top level call context should not be null to analyze coroutine-lambda" when compiling Kotlin with language version 1.6
  • KT-48618 Enable by default "suspend conversion" feature in 1.6
  • KT-47638 Drop EXPERIMENTAL_IS_NOT_ENABLED diagnostic
  • KT-48589 KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projects
  • KT-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 loops
  • KT-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 val
  • KT-48552 Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139
  • KT-46182 Native: prohibit using dots in identifiers
  • KT-46230 JVM IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER" with value class overriding function with default parameter
  • KT-48302 FIR: Investigate not-null assertion on generic Java method
  • KT-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 library
  • KT-48469 Problem with properties lazy initialization while using kotlinx.serialization plugin
  • KT-48432 Regression in IntRange.contains (and probably other ranges too) when used in-place
  • KT-44855 "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" on smart cast of protected field owner
  • KT-47542 Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeException
  • KT-48166 FIR: incorrect common supertype for PSI elements hierarchy
  • KT-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 function
  • KT-46451 JVM Debugging: stepping on finally block end brace line before stepping into finally code
  • KT-48329 It's impossible to infer a type variables based on several builder inference lambdas
  • KT-48193 Don't use the builder inference for calls which can be resolved without it
  • KT-46450 JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on them
  • KT-48298 FIR: incorrect deserialized annotations in back-end
  • KT-48234 FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor property
  • KT-48174 IR interpreter: unsupported compile-time call
  • KT-48158 FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable references
  • KT-48109 FIR: incorrect type inference for generic argument of intersection type
  • KT-48161 FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-null
  • KT-48159 FIR: erroneous scope order during type resolve of constructor return type
  • KT-48165 FIR: false positive "initializer should be a constant value" on String.length
  • KT-48175 FIR: exception for JvmField on local class property
  • KT-48164 FIR: false positive OVERRIDING_FINAL_MEMBER in enum entry
  • KT-48116 FIR: false positive NOT_A_LOOP_LABEL
  • KT-48102 FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functions
  • KT-47911 Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardware
  • KT-48105 FIR: generic/specific callable reference ambiguity
  • KT-14392 Repeated annotation with use site target is not detected for getter and setter
  • KT-47493 Missed frontend diagnostic in try/catch
  • KT-48058 "No type for expression" compiler exception on calls with unused lambda
  • KT-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 lambda
  • KT-34594 Do not generate fake debugger variables initialization for @​InlineOnly functions
  • KT-47749 Incorrect scope of a local variable inside the coroutine
  • KT-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 calls
  • KT-46448 JVM Debugging: Locals in finally blocks not always duplicated when the finally block is
  • KT-47716 JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally context
  • KT-47762 JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerException
  • KT-47741 JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIterator
  • KT-43696 ClassFormatError on @​JvmStatic external fun in interface companion object
  • KT-47715 JVM / IR, R8: External getter cannot be represented in dex format
  • KT-47684 Add warning on is checks which are always false
  • KT-47685 False positive CAST_NEVER_SUCCEEDS on variable of intersection type
  • KT-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 null
  • KT-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 parameter
  • KT-47413 FIR: Rework FirDelegatedScope
  • KT-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 structure
  • KT-48823 Improve error reporting on import when configuration phase in Gradle failed
  • KT-48504 MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flags
  • KT-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 exported
  • KT-47524 KJS / IR: Treat protected members as part of exported API
  • KT-48132 KJS / IR: "IllegalStateException" when interface methods don't have default implementation
  • KT-47700 Support instantiation of annotation classes on JS
  • KT-48317 KJS / IR: "TypeError: ... is not a function" on running code with suspend function inheritors
  • KT-48344 KJS / IR: incorrect call with vararg argument from suspend function
  • KT-47751 Kotlin/JS: IR + IC: "argument has no effect without source map" warnings on build
Libraries
New Features
  • KT-46423 infix extension fun Comparable.compareTo
  • KT-47421 Stabilize collection builders
  • KT-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 reference
  • KT-46785 Get rid of !! after readLine() in the standard library
  • KT-46784 Stabilize Duration API in the standard library
  • KT-46229 Bring back Duration factory extension properties
  • KT-27738 Make JS Regex.replace not inline
  • KT-48607 Stabilize experimental API for 1.6
  • KT-47304 Random#nextLong generates value outside provided range
  • KT-47706 System property that controls the brittle contains optimization
  • KT-48999 Align behavior of some JS functions with their JVM counterpart
  • KT-46243 Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standard
  • KT-46101 Review deprecations in stdlib for 1.6
  • KT-48456 Introduce Common (multi-platform) readln() and readlnOrNull() top-level functions
  • KT-48587 Deprecate some of JS-only stdlib API
  • KT-39328 Make builder collection implementations serializable
  • KT-47676 K/JS: MatchResult.next() returns no expected next match if called after matchEntire
  • KT-39166 Nothing is silently mapped to Void in arguments of the type passed to typeOf
  • KT-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 order
  • KT-38854 Gradually change the return type of collection min/max functions to non-nullable
  • KT-38754 Deprecate appendln in favor of appendLine
Native
  • KT-48807 Cinterop: cannot create bindings for a framework when Xcode 13 RC is installed
  • KT-49384 Kotlin/Native: Unexpected variance in super type argument: out @0
  • KT-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 MacosX64
  • KT-48566 ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native
  • KT-48039 Native: support shaded (aka embeddable) compiler jar in Gradle plugin
  • KT-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 checker
  • KT-48364 Uninitialized top-level properties in new MM
  • KT-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 typeOf
  • KT-35877 typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVM
Tools. CLI
  • KT-49007 Support three previous API versions
  • KT-48622 Introduce compiler X-flag to use the builder inference for all calls by default
  • KT-32376 “no main manifest attribute” on running the jar for cli-compiled Kotlin objects with main function
  • KT-48026 Add the compiler X-flag to enable self upper bound type inference
  • KT-47640 CLI: support -option=value format as for -Xoption=value
  • KT-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 commonization
  • KT-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 atomicfu
  • KT-48287 [Commonizer] platform.posix.mkdir not commonized in OKIO
  • KT-48286 [Commonizer] platform.posix.ftruncate not commonized in OKIO
  • KT-47523 MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target
  • KT-48278 [Commonizer] platform.posix.usleep not commonized in sqliter
  • KT-46691 MPP: Type mismatch for hierarchically commonized typealiases
  • KT-47221 C-interop commonization fails if few targets reuse same source set
  • KT-47775 Commonizer don't run for shared native code if test source set depends on main
  • KT-47053 MPP: Unable to resolve c-interop commonized code from shared test source set
  • KT-48118 Commonized c-interop lib is not attached to common main source set
  • KT-47641 Enabled cInterop commonization triggers native compilation during Gradle sync in IDE
  • KT-47056 MPP: Change naming for folder with commonized c-interop libraries
Tools. Compiler Plugins
  • KT-48842 Compiler crash: Symbol with IrFieldSymbolImpl is unbound
  • KT-48117 Kotlin AllOpen Plugin should open private methods
  • KT-40340 jvm-abi-gen plugin: failure with Android D8 (Dexer) tool
  • KT-40133 jvm-abi-gen plugin: fails for inline function containing apply block with anonymous object
  • KT-28704 jvm-abi-gen plugin: avoid calling codegen twice per module
  • KT-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.5
  • KT-49189 In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projects
  • KT-48830 Change deprecation level to 'ERROR' for 'KotlinGradleSubplugin'
  • KT-48264 Cannot write Kotlin build report unless directory exists
  • KT-48745 JVM target compatibility check should be disabled when Java sources are empty
  • KT-49066 Setting kotlinOptions.modulePath in an android project breaks incremental compilation
  • KT-48847 Remove deprecated kotlin options marked for removal after 1.5
  • KT-48245 KGP makes compileOnly configuration resolvable
  • KT-38010 Invalid warning "Runtime JAR files in the classpath should have the same version." with java-gradle-plugin
  • KT-48768 Misleading 'jdkHome' deprecation message
  • KT-46719 Remove 'kotlin.useFallbackCompilerSearch' build option
  • KT-47792 KGP should ignore ProjectDependency when customize kotlin Dependencies
  • KT-47867 Replace usages of IncrementalTaskInputs with InputChanges
  • KT-46972 Migrate Kotlin repo to use Gradle toolchain feature
Tools. Gradle. JS
  • KT-49124 KJS / Gradle: Unable to load '@​webpack-cli/serve' command
  • KT-49201 KJS / Gradle: NPM dependencies resolution may fail on parallel builds
  • KT-48241 KJS / Gradle: NPM test dependency may break Gradle configuration cache
  • KT-32071 Possibility to disable downloading of Node.js and Yarn
  • KT-48332 Make NodeJsSetupTask and YarnSetupTask not cacheable
  • KT-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 presented
  • KT-48919 Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = "1.7"
  • KT-46343 [Commonizer] Use lockfile for NativeDistributionCommonizationCache
  • KT-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 flag
  • KT-48138 CInteropCommonizer: Missing commonization request if test source set has different targets than associated main
  • KT-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-library
  • KT-37511 CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminal
  • KT-47362 Cocoapods plugin: add error reporting for case when pod is not installed on user machine
  • KT-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 deadlocks
  • KT-47934 KaptJavaLog is unable to map stub back to the kotlin source
  • KT-48195 Kapt causes dead lock in DefaultFileLockManager
Tools. Scripts
  • KT-49400 Script resolver options can't take values with special symbols (/, , $, :, .) in them
  • KT-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 engines
  • KT-48025 JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer function
  • KT-48303 main.kts script fails to detect vanished dependencies if run from the cache
  • KT-48177 Scripts: OutOfMemoryException with circular @file:Import
  • KT-46645 Scripts: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" caused by get accessor
Checksums
File Sha256
kotlin-compiler-1.6.0.zip 174c92e12a54c0901fd9f0badacf1514c28b5197a95654e4dab1775293dde1dc
kotlin-native-linux-x86_64-1.6.0.tar.gz 64fcc58174feabec7de521053baa2edbd883419a721bce79a6e1c7bbd5c15e51
kotlin-native-macos-x86_64-1.6.0.tar.gz 856a58b92672cd83b84c23ae5af19e59a08509d83a0de4a50b89f2259e2c7306
kotlin-native-macos-aarch64-1.6.0.tar.gz 12b29e1763be6715fb3ecafb6ed9bbf7f9874d398654465380ceec69aa9007a2
kotlin-native-windows-x86_64-1.6.0.zip 90fbba1e309f8cac128e15f0673991b13bb07b4aa09e40188476ddaab29bc9a7

v1.5.32: Kotlin 1.5.32

Changelog
Tools. Gradle. Multiplatform
  • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
Checksums
File Sha256
kotlin-compiler-1.5.32.zip 2e728c43ee0bf819eae06630a4cbbc28ba2ed5b19a55ee0af96d2c0ab6b6c2a5
kotlin-native-linux-x86_64-1.5.32.tar.gz 3b1441171951f80272d227da8673dcceff48343a3effba36ee49e5be5f55a1a3
kotlin-native-macos-x86_64-1.5.32.tar.gz 3060512bceb7e3b0bdfe9f5af7d526192b745be1c42a317b6a455b06393513df
kotlin-native-macos-aarch64-1.5.32.tar.gz b41322c2e7d88379d65554b70edc34eb05f49c9d72d528c16b64a60a9c2250b8
kotlin-native-windows-x86_64-1.5.32.zip 6d6a2dbaa65d3b5f07bb6b48cbd6fa92f616d2c8edd0afb4f19f1cc35566476a

v1.5.31: Kotlin 1.5.31

Changelog
Compiler
Fixes
  • KT-48659 JVM / IR: Referential equality returns true for different instances
  • KT-48613 Kotlin/Native fails to compile debug binaries for watchosArm64 target
  • KT-48316 "No value passed for parameter" regression with Java annotation default values with JSR-305
  • KT-48343 Mistake in an error message for uninferred type variable without unrestricted builder inference
  • KT-48543 Native compiler crashes because of bridges for $default stubs
  • KT-48349 OptIn markers are forbidden on local variable / value parameter / property getter only in presence of explicit Target annotation
  • KT-48295 JVM / IR: VerifyError: Bad access to protected data in getfield
  • KT-48551 JVM / IR: "IllegalStateException: Inline class has no primary constructor" caused by inline class from one module and fun interface from another
  • KT-47917 JVM: "UTF8 string too large" caused by a big string
  • KT-48440 JVM IR: Missing checkcast in generated bytecode causes VerifyError in Kotlin 1.5.30
  • KT-48361 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions
  • KT-48267 JVM IR: CCE on callable reference to Array constructor passed to inline function
IDE
  • KTIJ-15744 Reopening build.gradle.kts-based project reports MISSING_SCRIPT_BASE_CLASS KotlinBuildScript until re-import
  • KTIJ-19005 JDK 17: "PermittedSubclasses requires ASM9" exception multiple times per second during analysis
  • KTIJ-19504 IDE highlighting: Kotlin plugin 1.5.30 started showing some valid classes from multiplatform libraries as not existing
Native
  • KT-48591 Kotlin/Native: Char.isHighSurrogate and Char.isLowSurrogate return wrong result for macosArm64 and iosArm64 with compiler cache enabled
  • KT-48491 CInterop broke in Kotlin 1.5.30
Checksums
File Sha256
kotlin-compiler-1.5.31.zip 661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e
kotlin-native-linux-x86_64-1.5.31.tar.gz 636b7e9e54eefa3fa1d284677a8ec2271d0f98b024a8a60127ef20a3badaae03
kotlin-native-macos-x86_64-1.5.31.tar.gz fde7224a8e04a6cd934ecbf55d4d51966f8a0668104f4316a76b3f38062d1ade
kotlin-native-macos-aarch64-1.5.31.tar.gz fbd005e360253e7d7ff1cd78b7cbbe34df0592812676deada6620a53d469d803
kotlin-native-windows-x86_64-1.5.31.zip 11c2e3378ea2e0121e9c3378e58f9813fc5f7850110c0e341739ab514f1379ca

v1.5.30: Kotlin 1.5.30

Changelog
Backend. Native. Debug
  • KT-47405 Incorrect path from inlined method in stacktrace on iOS-simulator ARM64
  • KT-47408 Incorrect line number of inlined method on iOS-simulator ARM64
Compiler
New Features
  • KT-44261 Support RxJava 3 nullability annotations
  • KT-32443 Experimental declarations should be contagious even when they are not explicitly used
  • KT-45844 Forbid using experimental markers on override declarations
  • KT-45845 Forbid using experimental markers on getter
  • KT-46644 Resolve overrides for IrProperty on deserialization
  • KT-46967 Support class type parameters annotations in FIR
  • KT-47402 Native: optimize access to object declarations that have only const vals and no init blocks
  • KT-47709 Make when statements with enum, sealed, and Boolean subjects exhaustive by default
  • KT-47699 Support programmatic creation of class annotations and corresponding feature flag on JVM
Performance Improvements
  • KT-45103 Direct invoke optimization
  • KT-47785 Compilation time increased when trying to compile AssertJ DB expression in 1.5.21
Fixes
  • KT-48361 INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions
  • KT-48180 JVM / IR: AssertionError: "Lambda with offset already exists" caused by calling inline function with default lambda parameter
  • KT-47328 JVM / IR: NoSuchFieldError with missing CHECKCAST
  • KT-48172 "IllegalStateException: Cannot serialize error type: [ERROR : ]" in 1.5.21 with java kotlin interop
  • KT-48230 JVM IR: CCE for multiple receivers case
  • KT-48262 "Inconsistent type" with JSpecify @​NullMarked
  • KT-48167 JVM / IR: If Map#entrySet is implemented in an interface, Kotlin compiler generates incorrect code for its implementation
  • KT-47988 JVM / IR: "VerifyError: Bad type on operand stack" when invoking apply with a local method reference
  • KT-48163 JVM / IR: "VerifyError: Bad type on operand stack" when throwing result of smartcast
  • KT-47833 False positive "Type argument is not within its bounds " with upcasting in 1.5.30-M1
  • KT-47830 Some code doesn't compile with unrestricted builder inference
  • KT-39883 Deprecate computing constant values if complex boolean expressions in when condition branches and conditions of loops
  • KT-47037 Eliminate builder inference restrictions
  • KT-46726 IR + BuilderInference: AssertionError: Unbound private symbol on usage of this in a BuilderInference lambda
  • KT-43855 Support gradual introduction of new nullability annotations
  • KT-43142 FIR: Check UPPER_BOUND_VIOLATED for type alias constructors properly
  • KT-45228 Leaking builder inference type variables though callable references
  • KT-42270 NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for BuilderInference with extension functions
  • KT-46029 JVM / IR: "Unbound private symbol: " when trying to save SequenceScope in property
  • KT-45258 Wrong CST between types which contain stub type
  • KT-45224 Type safety problem through leaking of the builder inference scope
  • KT-22852 Report diagnostics on implicit usages of experimental API
  • KT-22941 Experimental marker annotation with SOURCE retention is compiled without error
  • KT-24993 Inference for buildSequence/yield doesn't work for labeled lambdas
  • KT-31728 Incorrect EXPERIMENTAL_OVERRIDE_ERROR for override of experimental function in anonymous object
  • KT-33364 Kotlin/Native debugger: execution stops only at next line for breakpoint at when expression without parameter
  • KT-42139 NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for emptyList / listOf (with no arguments) / emptyMap / mapOf (with no arguments) inside if block inside sequence block
  • KT-44241 NI: BuilderInference regression
  • KT-44372 FIR: KClass::java cannot be resolved as callable reference
  • KT-44547 Native: wrong RTTI when overriding functions with equal signatures but different type arguments
  • KT-44571 Segfault on unnecessary int unboxing
  • KT-45083 Problem with property reference in builder inference
  • KT-45315 Deprecate (V)::a reference resolution to companion in FE 1.0
  • KT-46393 AE: "1 trailing arguments were found in Any type" for private function with implicit anonymous return type inside generic class
  • KT-46661 FIR: Investigate inference issue with self-types and star projection
  • KT-46775 [Native] [IR] Support multiple suspend lambdas as class supertypes
  • KT-46836 Error: Invalid LLVM module on inlineClasses external tests
  • KT-46838 NullPointerException: Parameter specified as non-null is null in CollectionsKt.joinToString()
  • KT-46896 Native IR: NPE when using irBuiltIns.suspendFunction
  • KT-46996 FIR: INFERENCE_NO_INFORMATION_FOR_PARAMETER on type aliases with non-trivial expansions
  • KT-47034 KtValueArgument.getArgumentExpression could lead to StubBasedPsiElementBase.notBoundInExistingAst
  • KT-47052 BuilderInference case with flatMapTo doesn't work properly
  • KT-47082 Stub type variable is leaked (reproduces with K/N during deserialization)
  • KT-47143 ClassicTypeSystemContext couldn't handle: Captured(*) in Kotlin 1.5.0
  • KT-47148 Type mismatch: inferred type is Any? but T? was expected
  • KT-47180 Forbid using OptIn markers on local variable, value parameter or field
  • KT-47181 Forbid using OptIn markers on types or type parameters
  • KT-47183 Segfault on int unboxing
  • KT-47208 Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMember
  • KT-47276 Nullability annotations without target are ignored if type enhancement improvements are enabled
  • KT-47450 StackOverflowException in psi2ir with many chained binary expressions
  • KT-47462 K/N: AssertionError: Unbound private symbol org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl@6cb748d (NON-PUBLIC API): deserialized class Companion
  • KT-47941 "IllegalStateException: Expected some types" on a call with several excepted type constraints
  • KT-47854 "IllegalArgumentException: Type is inconsistent" with Android's @​Nullable annotation starting in Kotlin 1.5.20
  • KT-47899 "AssertionError: Intersection type should not be marked nullable" with 1.5.21
  • KT-47846 Stack overflow when handling enhanced recursive type parameter
  • KT-47747 Introduce specific error for calls which could be resolved only with unrestricted builder inference
  • KT-47739 JVM / IR: NoSuchFieldError with generic sealed classes
  • KT-47422 -Xjspecify-annotations: If a class has a @​Nullable type-parameter bound, Kotlin should still treat some users' type arguments as platform types
  • KT-47437 Type inference failure with raw types under -Xjspecify-annotations=strict
  • KT-47396 <?> in @​NullMarked code should permit nullable types
  • KT-47729 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
  • KT-47333 Xcode 13: Compilation for iOS simulator fails
  • KT-47772 False negative WRONG_ANNOTATION_TARGET on type argument to function call
  • KT-47467 JVM / IR: "AssertionError: Annotation class expected: deserialized class Array" caused by java annotation as a parameter of another annotation
  • KT-47744 UninitializedPropertyAccessException compiler exception on nested builder inference calls
  • KT-47724 Type inference: False positive "Returning type parameter has been inferred to Nothing implicitly"
  • KT-47660 JVM / IR: Mockito verification fails when named parameters are ordered differently
  • KT-47589 Using RequiresOptIn annotation on constructor property results in error even if the annotation has no VALUE_PARAMETER target
Docs & Examples
  • KT-47649 Important note about KJS IR compiler and stdlib compatibility in 1.5.30
IDE
  • KT-44643 ISE: Could not generate LightClass for some declared in on initialisation by lazy in a JVM module of a multiplatform project
  • KT-47947 Add language version 1.6 to the compiler configuration preferences
IDE. Gradle Integration
  • KT-47163 KJS / Gradle: Could not resolve <artifact> despite being resolvable & project buildable
IDE. JS
  • KT-46548 KJS: Create an IDE plugin to help with migration to and keeping compatibility with JS IR BE
  • KT-47557 KJS: With NPM dependency IDEA import fails when performed before Gradle build
JavaScript
  • KT-46204 KJS / IR: Support SuspendFunctionN as super type
  • KT-38363 JS IR BE: support IC for lowerings
  • KT-41651 JS IR BE: DCE removes render method from react components passed to the kotlinx.react
  • KT-46520 KJS / IR: ISE "Can't find name for declaration FUN name:CharArray_init_$Create$" on callable reference to Array constructor
  • KT-45738 KJS / IR: Wrong generated code for when statement
  • KT-46551 KJS / IR: Add a basic sourcemap generation
Libraries
  • KT-47477 Could not resolve kotlin-test during project import in case of multiplatform with only JVM target platform
  • KT-47675 Converting Double to Duration may expose inexactness
  • KT-47419 Remove method of the MapBuilder iterator throws IOOBE instead of IllegalStateException
  • KT-47211 Kotlin Native - AbstractMutableList.addAll (with index) does not throw IndexOutOfBoundsException if elements is empty
  • KT-23351 Regex.splitToSequence, CharSequence.splitToSequence(Regex)
  • KT-42851 kotlin.time.Duration toString() shows wrong result for seconds
  • KT-45325 Parsing Duration from String
  • KT-34021 Regex.matchAt / matchesAt
Native
  • KT-35001 warning: linking module flags 'SDK Version': IDs have conflicting values ('[2 x i32] [i32 13, i32 2]'
  • KT-43475 Kotlin/Native compiler: Including a static C library increased cross-compilation time from 3.5minutes to 1 hour 40 minutes
  • KT-44148 Escape analysis failure: Heap space out of memory
Native. C and ObjC Import
  • KT-46711 platform.windows._LARGE_INTEGER cannot be passed by value
Native. ObjC Export
  • KT-43780 Improve Swift/Obj-C ergonomics for object and companion object
  • KT-46431 KMP accessing a property of an anonymous inner class that inherits from an abstract class causes a 'NSGenericException', reason: '[Shared_kobjcc0 ] is abstract' exception.
  • KT-47042 Kotlin/Native: Concurrency Interoperability with Objective-C (Swift 5.5)
Native. Stdlib
  • KT-47915 Kotlin/Native: Provide access to test cases generated by the compiler
Native. Platforms
  • KT-44321 Support Apple Silicon without Rosetta 2
Reflection
  • KT-18277 InvalidProtocolBufferException: Stream closed on multithreaded access to built-ins data in reflection
  • KT-44977 Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
  • KT-47650 KClass::nestedClasses throws ClassCastException for script classes with type aliases
Tools. CLI
  • KT-47623 Deprecate -Xuse-experimental
  • KT-30778 kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutines
  • KT-40979 CLI: Executing "kotlinc.bat" at a root path, errors are not reported with a correct filepath
  • KT-40994 CLI: Add documentation for -J argument in kotlinc -help
  • KT-46764 CLI: Java record defined in a single file root is not resolved
Tools. Commonizer
  • KT-47433 [Commonizer] Commonize functions/properties with TA/Class types in signature
  • KT-47691 [Commonizer] Commonize var and val properties
  • KT-47434 [Commonizer] Commonize parameterized (type-alias + class) types
  • KT-47432 [Commonizer] Commonize (type-alias + class) types used in functions
  • KT-45992 [Commonizer] Allow commonization of TypeAlias and Class with same name
  • KT-46716 [Commonizer] Analyze leaf source sets with original platform libraries
  • KT-46957 [Commonizer] Unresolved classifier: platform/posix/ptrdiff_t for linuxMips32
  • KT-47133 Forbid cinterop commonization with hierarchical commonization turned off
  • KT-47301 [Commonizer] Associative commonization
Tools. Compiler Plugins
Tools. Daemon
  • KT-47152 Incremental Compilation with Kotlin compile daemon and JDK 17 fails with IllegalAccessException
Tools. Gradle
New Features
  • KT-45757 Add an easier way to explicitly set Kotlin daemon jvm arguments
Fixes
  • KT-47940 Kotlin JVM toolchain breaks configuration cache
  • KT-46626 kotlin-android plugin with kotlin-dsl: Extension with name 'android' does not exist. Currently registered extension names: [ext, kotlin, kotlinTestRegistry]
  • KT-47754 “'compileDebugUnitTestJavaWithJavac' task (current target is 1.8)” during build android project without specified target and with jvmToolchain = JDK 11
  • KT-47520 Kotlin and Java target compatibility check produces false positive on using Gradle toolchains
  • KT-46978 Duplicate resource errors on gradle 7 with multi-module multiplatform project with withJava
  • KT-27687 Empty directories in source set causes gradle cache miss for KotlinCompile task
  • KT-47635 Kotlin version conflict on using 'noarg' Gradle plugin
  • KT-47636 Kotlin version conflict on using 'sam-with-receiver' Gradle plugin
  • KT-47354 Kotlin version conflict on using 'allopen' Gradle plugin
  • KT-45202 Kapt crashes with java.io.UTFDataFormatException
  • KT-13258 Kotlin compiler doesn't respect Gradle's "sourceCompatibility" and "targetCompatibility"
  • KT-43095 Add support for Java Toolchain to the Gradle plugin
  • KT-45611 KGP should declare JDK version as input
  • KT-47185 Migrate Gradle Integration tests to use cache redirector
  • KT-48226 Kotlin toolchain does not set 'jvmTarget' for Kotlin tasks on configuration cache reuse
  • KT-44279 Kotlin-Android Gradle Plugin (KGP) should react to application of AGP rather than assume it was applied first
  • KT-44041 PersistentEnumeratorBase$CorruptedException: PersistentEnumerator storage corrupted
Tools. Gradle. JS
  • KT-47436 KJS / IR: Compiler plugins not provided to link task
  • KT-46693 KJS: Update node.js version used inside gradle to latest 14.x
  • KT-47559 KJS / Gradle: Run task created using eager API and breaks task configuration avoidance
  • KT-47176 KJS: Actualize NPM dependencies
  • KT-47154 KJS / Gradle: Compile task reads dependencies metadata from filesystem too long on large projects
  • KT-47114 KJS / IR: Could not resolve coroutines-core-js
  • KT-43379 KJS / Gradle: On windows, an invalid regex is generated for Webpack ProgressPlugin
Tools. Gradle. Multiplatform
  • KT-47210 [Commonizer] Avoid commonization of test source set hierarchy if possible
  • KT-46279 [Commonizer] Gradle 7.0 will emit warning for metadata compilation in multimodule builds
  • KT-47126 ios() target shortcuts should not include Apple Silicon by default
  • KT-38111 Gradle DSL: rename useExperimentalAnnotation function
  • KT-47126 ios() target shortcuts should not include Apple Silicon by default
  • KT-47612 Task :buildKotlinToolingMetadata is incompatible with Gradle configuration cache
  • KT-47611 Task :generateMetadataFileForKotlinMultiplatformPublication is incompatible with Gradle configuration cache
Tools. Gradle. Native
  • KT-42023 Kotlin Native Cocoapods plugin fails when Xcode project has custom CONFIGURATION names
  • KT-47653 Support multi arch build via embedAndSign task
  • KT-47078 Support Apple Silicon in cocoapods gradle plugin
  • KT-47077 Support Apple Silicon in embedAndSign task
Tools. Incremental Compile
  • KT-27660 JS Incremental compilation fails with java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
  • KT-36865 IC: "ArrayIndexOutOfBoundsException: Array index out of range: 0"
  • KT-35532 Incremental compilation often fails on @​JVMMultifileClass
  • KT-19806 IncrementalPackagePartProvider cache corruption causes frontend exception
Tools. JPS
  • KT-47753 JPS: "IndexOutOfBoundsException: Index 0 out of bounds for length 0": Rebuild triggered due to IOOBE in kotlin.incremental.LookupStorage.<init>
  • KT-46804 Slow Kotlin incremental build: LookupStorage operations
  • KT-45763 Failing tests in KotlinIDE
Tools. Maven
  • KT-45689 JDK-16: kotlin-maven-plugin fails with IllegalAccessError: class com.intellij.util.io.FileChannelUtil when using incremental compilation
Tools. Scripts
  • KT-43917 Gradle dependency conflict with resolutionStrategy failOnVersionConflict and kotlin 1.4
  • KT-46646 Scripts: ArrayIndexOutOfBoundsException on an empty script running
Tools. REPL
  • KT-47783 REPL: Keywords completion appears after numeric and string literals
Tools. kapt
  • KT-47583 KaptJavaLog fails on Java 17 due to removed constructor in com.sun.tools.javac.util.Log
  • KT-47347 KAPT: Stub generation in Gradle cache is not consistently relocatable
  • KT-46651 KAPT: "Source file or directory not found" - kaptGenerateStubsDebugKotlin task does not track source files properly with configuration cache enabled
Checksums
File Sha256
kotlin-compiler-1.5.30.zip 25eebdb9bb2e165e4ba8efbf8ff943c45d4fc39dbffc2c1caa059e8dd813675f
kotlin-native-linux-x86_64-1.5.30.tar.gz 1efad86f35543e3d5365dc6fe7dbde7f20e8330e70cf43b94d6a3f9080b2636f
kotlin-native-macos-x86_64-1.5.30.tar.gz de7e9f9601e5f91aa44c0d8629da8779afaf60d0622287d67a61e72432277001
kotlin-native-macos-aarch64-1.5.30.tar.gz 7c04408bb98b59b4acc1c5a2c8837350a8ef0262bc19795da42c103e6a8c6bd0
kotlin-native-windows-x86_64-1.5.30.zip 26ceb0ddc85636d459016d7824975bf82ba6e8f0526c1961604f85348a989dbf

v1.5.21: Kotlin 1.5.21

Changelog
Compiler
  • KT-47320 "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character
  • KT-47445 "definitely not null type parameters is only available since language version 1.6" error in cast expression
  • KT-47446 Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE
  • KT-47447 False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases"
  • KT-47449 JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection
  • KT-47459 "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency
  • KT-47480 StackOverflowError: Recursion on erasion of raw type with interdependent type parameters
Tools. Compiler Plugins
  • KT-47161 Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self
  • KT-47455 Kotlin lombok plugin NullPointerException
  • KT-47513 Lombok compiler plugin failed with 'Recursion detected in a lazy value under LockBasedStorageManager@1c21db6 (TopDownAnalyzer for JVM)'
Tools. Gradle
  • KT-47444 Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies)
Tools. kapt
  • KT-47416 Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20
Checksums
File Sha256
kotlin-compiler-1.5.21.zip f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59
kotlin-native-linux-1.5.21.tar.gz 63330f898f307cb2330ef04a5d36ac4cd29128912a2d9a93b8cde5b7b99ec96f
kotlin-native-macos-1.5.21.tar.gz 3bf60142e04094112c64ca31d6f3a7382adf210bb222c8b03579bed0d3ff5611
kotlin-native-windows-1.5.21.zip e22212e58a39066ae976a45a8bc877cd2e2018fb9adc321b957779b38561c064

v1.5.20: Kotlin 1.5.20

How to update to a new release
Changelog
Compiler
New Features
  • KT-43262 No error for Java generic class @​NotNull type parameter used in Kotlin with nullable type argument
  • KT-44373 FIR: support error / warning suppression
  • KT-45189 Support nullability annotations at module level
  • KT-45284 Emit warnings based on jspecify annotations
  • KT-45525 Allow to omit JvmInline annotation for expect value classes
  • KT-46545 Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above
Performance Improvements
  • KT-36646 Don't box primitive values in equality comparison with objects in JVM_IR
Fixes
  • KT-8325 Unresolved annotation should be an error
  • KT-19455 Type annotation unresolved on a type parameter of a supertype in anonymous object expression
  • KT-24643 Prohibit using a type parameter declared for an extension property inside delegate
  • KT-25876 Annotations on return types and supertypes are not analyzed
  • KT-28449 Annotation target is not analyzed in several cases for type annotations
  • KT-36770 Prohibit unsafe calls with expected @​NotNull T and given Kotlin generic parameter with nullable bound
  • KT-36880 K/N IR: Reference to expect property in actual declaration is not remapped
  • KT-38325 IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List
  • KT-38342 FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY
  • KT-38476 [FIR] Forgotten type approximation
  • KT-38540 Kotlin/Native Set.contains fails with specific enum setup
  • KT-40425 IrGenerationExtension. Support simple reporting to compiler output (for development/debug)
  • KT-41620 ClassCastException: Class cannot be cast to java.lang.Void
  • KT-41679 NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal
  • KT-41818 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties
  • KT-42239 IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization
  • KT-42631 ArrayIndexOutOfBoundsException was thrown during IR lowering
  • KT-43258 NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda
  • KT-44036 Enum initialization order
  • KT-44511 FIR DFA: smartcast after if (nullable ?: boolean)
  • KT-44554 RAW FIR: NPE in RawFirBuilder
  • KT-44682 raw FIR: incorrect source for qualified access
  • KT-44695 *_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects
  • KT-44699 FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE)
  • KT-44802 FIR bootstrap: trying to access package private class
  • KT-44813 FIR bootstrap: various errors in collection-like classes
  • KT-44814 FIR bootstrap: incorrect cast in when branch
  • KT-44942 [FIR] ClassCastException in boostrap tests
  • KT-44995 FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST
  • KT-45010 FIR: lambda arguments of inapplicable call is not resolved
  • KT-45048 FIR bootstrap: VerifyError on KtUltraLightClass
  • KT-45052 FIR bootstrap: inapplicable candidate in GenerateSpecTests.kt
  • KT-45121 FIR IDE: redundant vararg parameter type transformation
  • KT-45136 Native: dividing Int.MIN_VALUE by -1 crashes or hangs
  • KT-45236 JVM / IR: "IllegalStateException: Symbol with IrTypeParameterSymbolImpl is unbound" caused by contracts and sealed class
  • KT-45308 Psi2ir: "AssertionError: TypeAliasDescriptor expected" caused by using typealias from one module as a type in another module without a transitive dependency
  • KT-45316 [FIR] Ambiguity between two implicit invokes with receiver
  • KT-45344 FIR: Wrong inferred type for nullable type parameter
  • KT-45385 FIR: false positive MUST_BE_INITIALIZED_OR_BE_ABSTRACT after rethrow
  • KT-45475 [FIR] No smartcast after throw in if inside try block
  • KT-45508 False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member
  • KT-45578 REPL: Unresolved imports are cached for the subsequent compilations
  • KT-45685 JVM IR: capturing a variable into crossinline suspend lambda makes the function inside inline function no longer unbox Result
  • KT-45584 [FIR] Fix overriding property and java function in java class
  • KT-45697 JVM IR: ISE "Function has no body" on getter of private field in a class present both in sources and dependencies
  • KT-45842 Compiler doesn't allow a shared class to inherit a platform-specific sealed class
  • KT-45848 False negative [SEALED_INHERITOR_IN_DIFFERENT_MODULE] error in compiler for a platform-specific inheritor of a shared sealed class
  • KT-45931 There is no warning based on nullability java annotation
  • KT-45998 JVM IR: AE when an accessor to a protected companion object member is being generated in child class
  • KT-46048 Enum entries init order in companion object
  • KT-46074 FIR: private-in-file fun interface is considered invisible in this file
  • KT-46173 No error reporting on annotations on target type of as expression in return
  • KT-46235 JVM IR: Stack overflow error on large expressions
  • KT-46270 [FIR] Support @PublishedAPI in inline checker
  • KT-46539 Generate annotations on type parameters bounds in bytecode
  • KT-46578 JVM IR: IllegalAccessError accessing property delegated to java super class protected field reference
  • KT-46597 JVM IR: AssertionError: SyntheticAccessorLowering should not attempt to modify other files - crossinline accessor
  • KT-46601 JVM / IR: IllegalStateException: "Can't find method 'invokeinvoke`" when default lambda takes inline class parameters
  • KT-46670 StackOverflowError on inheritance from raw type where class has protobuf-like recursive generics
  • KT-46715 JVM / IR: "AssertionError: Unbound symbols not allowed IrConstructorSymbolImpl" with enum classes with the same name in test and src folders
  • KT-46759 JVM IR: CCE in LateinitUsageLowering on @​JvmStatic lateinit property in object
  • KT-46777 [Native] [IR] Support suspend function as super type
  • KT-46802 JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" caused by function reference on @​JvmStatic function with unused default parameters
  • KT-46813 JVM / IR: "ClassCastException: Integer cannot be cast to class Result" with Flow and fold method
  • KT-46822 JVM IR: StackOverflowError on compiling a large data class
  • KT-46837 Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMember
  • KT-46921 JVM / IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by crossinline parameter and label return
  • KT-46984 Type parameter bounds aren't used to report corresponding mismatch warnings
  • KT-46985 There aren't warnings by java nullability annotations
  • KT-46986 There aren't warnings by java nullability annotations
  • KT-46989 There aren't warnings by java nullability annotations
  • KT-46990 There aren't warnings by java nullability annotations on method's violated type arguments
  • KT-47019 K/N: IrProperty.overriddenSymbols can't be used in common IR backend modules yet because it doesn't fully work in Native
Docs & Examples
  • KT-33783 Document when a range created with rangeTo is empty
IDE
  • KT-44638 clone() call is unresolved in JVM module of a multiplatform project
  • KT-45629 [ULC] KtUltraLightFieldForSourceDeclaration.nameIdentifier returns null
  • KT-44825 Can't open Kotlin compiler settings in newly created project
  • KT-45908 Reproduciable 'org.jetbrains.kotlin.idea.caches.resolve.KotlinIdeaResolutionException: Kotlin resolution encountered a problem while analyzing KtNameReferenceExpression'
IDE. FIR
  • KT-45175 FIR IDE: Exception with local property in init block
  • KT-45199 FIR IDE: Error while collecting diagnostic on stale element after replacing element in quickfix
  • KT-45312 FIR IDE: FIR plugin throws exception on synthetic function
IDE. Gradle Integration
  • KT-34401 KotlinGradleModelBuilder builds models for non-kotlin modules and always trigger full task configuration.
  • KT-45277 Wrong jvm target in gradle module in IDEA
  • KT-46488 Import of a multiplatform project with MPP module depending on Kotlin/JVM one fails
IDE. Inspections and Intentions
  • KT-45075 Inspection: Redundant creation of Json format
  • KT-45347 Sealed interfaces: quickfix to move to package/module of sealed class/interface should not be shown in case of read-only declaration
  • KT-45348 Sealed interfaces: show error for usage of sealed class/interface from a library in Java source code
  • KT-46063 In multiplatform code, suggest to generate remaining when branches at least for shared sealed classes
IDE. Refactorings
  • KT-44431 Quickfix to move class/interface to proper location: it is allowed to choose test source in JPS project while compiler does not allow it
IDE. Native
  • KT-39320 [Commonizer] Reduce memory consumption
JavaScript
  • KT-40235 KJS: IR. Broken support for external interface companion
  • KT-40689 KJS / IR: strange and slow code for kotlin.math.max and kotlin.math.min for Double
  • KT-44138 KJS / IR: Constant folding works incorrectly with unsigned arithmetic
  • KT-44394 KJS / IR: null companion object for existed stdlib interfaces NodeFilter and SVGUnitTypes
  • KT-44950 KJS / IR: "IllegalStateException: Can't find name for declaration" in case of extending export declared class without @​JsExport annotation
  • KT-45057 KJS / IR: "ClassCastException" when using js function in init block
  • KT-45361 KJS / IR: IrConstructorCall representing annotation always returns Unit
  • KT-46608 KJS: "Could not load content..." for source maps
  • KT-45655 KJS: "REINTERPRET_CAST" is not copyable
  • KT-45866 Default parameter with generic in expect-actual declarations
  • KT-46859 Exception during IR lowering: NullPointerException was thrown at: optimizations.FoldConstantLowering.tryFoldingUnaryOps
KMM Plugin
  • KT-43899 KMM: Fix "stale framework" usage by XCode & AppCode in default build script
Libraries
  • KT-43701 Stdlib: Expand KDoc of inc() and dec() for operators
  • KT-46002 Support all Unicode digit chars in digitToInt (JS and Native)
  • KT-46183 Add default value for ignoreCase in K/N String.replace/replaceFirst
  • KT-46184 Equivalize isLowerCase and isUpperCase behavior in all platforms
Native
  • KT-33175 IR: String constants with incorrect surrogate pairs aren't preserved during serialization/deserialization
  • KT-44799 Different behavior with functional interfaces in Kotlin/Native on iOS
Native. C Export
  • KT-42796 [Reverse C Interop] Package with no public methods generate empty struct in the header, leading to an error
Native. ObjC Export
  • KT-38600 Kotlin MP iOS Target doesn't contain kdoc comments
  • KT-45127 KMM: hard to pass an error to Kotlin code from implementation of Kotlin method in Swift code
Native. Runtime. Memory
  • KT-45063 Profiling indicates that a lot of time is spent on updateHeapRef on Apple platforms when running KMP code
Reflection
  • KT-10838 Provide sensible toString() for property accessors in reflection
  • KT-13490 Equality doesn't work for KProperty.Accessor implementations
Tools. CLI
  • KT-14772 ISE (FNFE "Not a directory") on compilation with destination argument clashing with an existing file which is not a directory
  • KT-18184 CompileEnvironmentException: Invalid jar path on "-d" with .jar in non-existing directory
  • KT-40977 Report a readable diagnostic on empty -J argument in CLI
Tools. Commonizer
  • KT-45497 [Commonizer] c-interop commonization: Dependency commonization
  • KT-46077 [Commonizer] Add commonizer_target to commonized klib's manifest
  • KT-46107 [Commonizer] CInteropCommonizerTask receives faulty dependencies in multi module projects containing multiple c-interops
  • KT-46248 MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available
  • KT-46856 [Commonizer] Many targets can fail with 'filename too long'
Tools. Compiler Plugins
  • KT-7112 Support calling Lombok-generated methods within same module
  • KT-45538 Serialization, JVM IR: "AssertionError: No such type argument slot in IrConstructorCallImpl" with inner classes
  • KT-45541 JVM / IR / Serialization: NullPointerException caused by "Serializable" annotation and local data class
  • KT-46469 Kotlin Lombok: accessors with AccessLevel.MODULE fail to resolve
  • KT-46529 Kotlin Lombok: with @Accessors without explicit prefix the prefix from lombok.config is not taken into account
  • KT-46531 Kotlin Lombok: lombok.getter.noIsPrefix is processed depending on character case
  • KT-46920 NullPointerException in CodeGeneratorVisitor when packing for xcode
Tools. Gradle
  • KT-24533 Kapt should not run when annotation processors are not configured
  • KT-43988 Enable plugin validation during build
  • KT-45301 Gradle: Empty build/kotlin dir with custom build directory
  • KT-45519 loadAndroidPluginVersion() impacts performance negatively and noticeably in multimodule Android build
  • KT-45744 Create Kotlin Gradle Plugin JUnit5 basic test setup
  • KT-45834 Gradle Plugin read system property related to kotlinCompilerClasspath breaks use of configuration cache
  • KT-46401 Deprecate 'kotlin.parallel.tasks.in.project' build property
  • KT-46820 Gradle: kotlinc (1.5.0) race condition causes a NullPointerException
  • KT-47317 Restore 'kotlinPluginVersion' property in 'KotlinBasePluginWrapper'
Tools. Gradle. JS
  • KT-42911 Support Gradle configuration cache for K/JS tasks
  • KT-45294 KJS / Gradle: Number of modules in project affects JS tasks configuration cache state size
  • KT-45754 KJS / IR: Remove adding option of source maps in Gradle plugin
  • KT-46178 KJS / Dukat: Added as a dependency always without condition
  • KT-46976 KJS: Broken support for dynamically created webpack.config.d
  • KT-47045 [Gradle, JS] Task requirements are added to all compilations with same name
Tools. Gradle. Multiplatform
  • KT-36679 MPP Gradle plugin: Improve messaging for the commonizer
  • KT-45832 CInteropCommonization: Filter out illegal dependencies
  • KT-46394 Multiplatform: Gradle 7 support
  • KT-46517 Add kotlin-project-model as api dependency to kotlin-gradle-plugin-api
Tools. Gradle. Native
  • KT-27240 MPP Gradle plugin: Provide a framework packing task for Kotlin/Native
  • KT-39016 Missing stdlib when the downloading process was aborted
  • KT-40907 Xcode error after switching between device and simulator: Building for iOS, but the linked and embedded framework was built for iOS Simulator.
  • KT-44059 iosSimTest tasks are never up-to-date
  • KT-45801 compileIosMainKotlinMetadata compilation property of gradle task is not initialized and fails with Execution failed for task ':shared:generateProjectStructureMetadata'
  • KT-46680 Register concrete "embedAndSign" tasks instead umbrella
  • KT-46892 Kotlin Multiplatform Gradle Plugin: EmbedAndSign task always contains a default framework name
Tools. Incremental Compile
  • KT-44741 Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant
Tools. JPS
  • KT-34351 KotlinTargetsIndex creation takes too long even if project doesn't have any kotlin
  • KT-45191 [JPS] Marking method as "default" in Java SAM interface doesn't affect dependencies
  • KT-46242 Support Lombok kotlin plugin in JPS and maven
Tools. kapt
Performance Improvements
  • KT-28901 Consider caching annotation processors classloaders
Fixes
  • KT-27123 kapt: missing space in error log makes location non-clickable
  • KT-29929 [Kapt] Stub generator uses constant value in method annotation instead of constant name 2.
  • KT-31146 kapt: executableElement.getAnnotation(JvmOverloads::class.java) returns null
  • KT-32202 Gradle task kaptKotlin fails: "module not found" in Java 11 modular application
  • KT-34838 Kapt: 'cannot find symbol' for a top-level property with anonymous delegate
  • KT-35104 Support @​JvmStatic in KAPT stubs
  • KT-35167 Kapt Gradle plugin doesn't handle --module-path javac argument
  • KT-37586 KAPT: When delegated property use an unknown type (to-be-generated class), correctTypeError will mess up the $delegate field type
  • KT-39060 Kapt: correctErrorTypes don't retain return type of getter in Java stub
  • KT-39715 KaptGenerateStubsTask resolves annotation processor options too early (before execution time)
  • KT-41581 Kapt doesn't have line breaks between warnings
  • KT-43804 Kapt fails to preserve parameter names in open suspend functions
  • KT-43686 KaptWithoutKotlincTask should use @CompileClasspath for kotlinStdlibClasspath for cache relocateability.
  • KT-45032 Kapt: NullPointerException: insnList.first must not be null
  • KT-46176 Kapt: "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3" with delegation and property reference
Checksums
File Sha256
kotlin-compiler-1.5.20.zip edf34263ddaabd48f7ec59661e4c0d1dc868462fd3a1ea323083d0e3e83a8a8b
kotlin-native-linux-1.5.20.tar.gz 9449219ec9465b14adda1b730ac14ef02da93e9f98219f7303bf70c4c875b7db
kotlin-native-macos-1.5.20.tar.gz 45aadfacaa6680b8eeba0569aaa12af36b33d47ed6a7c7900895f9176f71e1d0
kotlin-native-windows-1.5.20.zip aeee65cdc6dedab8dee9308cf15c7227530c0a24c7342becc2e0d6cd882cd430

v1.5.10: Kotlin 1.5.10

How to update to a new release
Changelog
Compiler
Fixes
  • KT-41078 Incorrect type substitution in contracts with type parameters
  • KT-44770 JVM / IR: "IllegalArgumentException: Unrecognized Type: [null]" Jackson doesn't recognize type
  • KT-45084 JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parameters
  • KT-45779 JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function reference
  • KT-45941 JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockK
  • KT-46149 Generate synthetic classes for SAM adapters with erased instead of generic supertype
  • KT-46189 JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtime
  • KT-46214 JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner class
  • KT-46238 JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper bound
  • KT-46259 JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETIC
  • KT-46284 JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script class
  • KT-46402 IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module @​0x71b06418) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven project
  • KT-46408 JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interface
  • KT-46426 JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambda
  • KT-46455 OOM on parsing invalid code with string interpolation
  • KT-46503 JVM IR: "AssertionError: Unexpected variance in super type argument: out @​1"
  • KT-46505 JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameter
  • KT-46512 JVM / IR: NoSuchMethodError on SAM conversion of a function reference
  • KT-46515 IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0
  • KT-46516 JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableList
  • KT-46524 Cannot use unsigned literals with api-version < 1.5 even with opt-in
  • KT-46537 JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child class
  • KT-46540 JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.Supplier
  • KT-46554 JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation call
  • KT-46555 JVM IR: IllegalAccessError when using Java method reference
  • KT-46562 Kotlin 1.5.0 generates non-serializable lambdas when they should be serializable
  • KT-46568 JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract class
  • KT-46574 JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type.
  • KT-46579 JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static method
  • KT-46584 JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issue
  • KT-46751 JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5
IDE
  • KT-45981 failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2
  • KT-46622 60+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependencies
IDE. Gradle Integration
  • KT-46417 [UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets
Libraries
  • KT-46280 JvmRecord annotation missing constructor in common
Middle-end. IR
  • KT-44013 NPE: When calling constructor of a function type while inheriting from it, despite it's an interface
Tools. Android Extensions
  • KT-46590 Kotlin Android Extensions 1.5.0 generates bad writeToParcel() method for nullable Array types
Tools. Gradle
  • KT-41142 Kotlin version conflict when using Kotlin Gradle plugins in pre-compiled script plugin
  • KT-46353 Optimizations disabled in Gradle 7 for KAPT when generating sources
  • KT-46368 Memory leak with 1.5.0-RC when building with Gradle
  • KT-46689 Track -Xuse-old-backend flag usage
Tools. Gradle. JS
  • KT-46006 KJS \ Gradle: Task without declaring an explicit or implicit dependency on jsGenerateExternalsIntegrated in Gradle 7
  • KT-46162 KJS: Exported items unavailable on dev server
  • KT-46331 KJS: With kotlin.js.webpack.major.version=4 browserXRun tasks fail
Tools. Parcelize
  • KT-46567 Kotlin 1.5.0 parcelize compilation fails in new backend when using TypeParceller with nested generics
Tools. kapt
  • KT-45532 Do not create Kapt stubs directory during configuration time
Checksums
File Sha256
kotlin-compiler-1.5.10.zip 2f8de1d73b816354055ff6a4b974b711c11ad55a68b948ed30b38155706b3c4e
kotlin-native-linux-1.5.10.tar.gz 0463222fb84e0f997e3c71af89ed1d1c4b3b9894cafffe5fc0ba1f125cf362ea
kotlin-native-macos-1.5.10.tar.gz bc227baad4a4c8b5cdf0b1a08fa3fb59132043f2ea88e2343c5f25584f5de3cd
kotlin-native-windows-1.5.10.zip e0816d91da9c4c38b3ef8891033185cb183f4a901054c9f17a9c72295ed40324

v1.5.0: Kotlin 1.5.0

Changelog
Backend. Native
  • KT-42053 Support compiler caches for linux_x64
  • KT-43690 Support compiler caches for ios_arm64
Backend. IR
  • KT-42684 StackOverflowError on recursive inline arguments in inline fun
Compiler
New Features
  • KT-28791 Kotlin serialization with inline classes
  • KT-30222 Support JVM target version selection in Kotlin bytecode tool window
  • KT-41884 Support 'file' target for JvmSynthetic annotation
  • KT-43677 Support for Java records
  • KT-43920 Support loading binary Java annotations on fields
  • KT-44278 Generate SAM-converted lambdas and function references using 'invokedynamic' on JDK 1.8+
  • KT-44650 Deprecate JVM target version 1.6
  • KT-44787 Suspend functions in fun interfaces
  • KT-44865 Allow to declare protected constructors in sealed classes
  • KT-44869 Compiling sealed interface with version less than 1.5: error message from future could be provided
Performance Improvements
  • KT-6336 Optimize generation of local functions
  • KT-7307 Optimize infix call of String.plus
  • KT-18692 Optimize '<optimizable_range> step x' for-in loop
  • KT-19978 Inefficient bytecode generated for function references undergoing Java SAM conversion
  • KT-23565 OperationsMapGenerated.kt generates unreasonable amount of bytecode
  • KT-23825 Tail suspend call utilizing elvis operator does not take advantage of suspend tail call optimization
  • KT-23826 A suspend function on the right side of a returned || condition is not tail call optimized
  • KT-25348 No compile time unsigned integer conversion when using hex literal
  • KT-26060 Support a compiler mode to compile lambda expressions using invokedynamic instruction
  • KT-26590 Do not generate create method for suspend lambdas if its arity >= 2
  • KT-27427 Optimize nullable check introduced with 'as' cast
  • KT-28246 Redundant boxing/unboxing isn't eliminated by the compiler in case of inline classes and javaClass intrinsic
  • KT-30605 Constant folding doesn't evaluate inv() function
  • KT-36845 Generate enum-based TABLESWITCH/LOOKUPSWITCH on a value with smart cast to enum in JVM_IR
  • KT-39585 JVM BE generates redundant accessor calls when accessing static final field lifted from companion
  • KT-40886 Old JVM BE unspills ACONST_NULL from continuation
  • KT-42621 Kotlin binary size considerably larger for code extensively using stream API
  • KT-44153 NI: Low Memory and IntelliJ hangs when quotes in split() are missed
  • KT-45410 JVM / IR: Extreme performance regression on arithmetic operations inside a loop
Fixes
  • KT-6007 Support changed return type of inlined generic function when lambda returns anonymous object
  • KT-6055 Failed invoke plus assign on array element accessed via several args through local get/set convention extensions
  • KT-6879 CompilationException when local classes hierarchy is placed within other local or inner declaration
  • KT-8120 NoSuchMethodError on local class constructor call inside a local class
  • KT-8199 "Cannot pop operand off an empty stack" for local class using a captured variable as default value for constructor parameter
  • KT-10835 "AssertionError: Non-outer parameter incorrectly mapped to outer" when inlining object literal extending inner class
  • KT-12790 Don't generate synthetic accessors for private inline function/properties
  • KT-13213 IllegalArgumentException in ByteVector.putUTF8 on attempt to compile file with moderately long string literal
  • KT-14628 "UnsupportedOperationException: Don't know how to generate outer expression" for nested class inheriting from inner class with a companion object
  • KT-14833 JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline properties
  • KT-15403 Suspend operator get wrong code generated by BE (NoSuchMethodError)
  • KT-15404 Suspend operator set wrong code generated
  • KT-16084 Proguard can't find enclosing class of let closure inside apply closure
  • KT-16151 Internal compiler error when using plusAssign operator with mutable map
  • KT-16221 Support in/!in suspend operators
  • KT-16282 "Cannot pop operand off an empty stack" for plusAssign with default parameters in setter operator
  • KT-16445 java.lang.VerifyError: Bad type on operand stack when delegating an interface through a private reified function inside an object
  • KT-16520 Invalid bytecode semantics for set call by convention with default parameters
  • KT-16567 Inliner creates redundant objects on source inlining
  • KT-16752 Delegating function interface to function reference does not work
  • KT-17554 Incorrect cast to Unit generated on annotated when-expression with a single-branch if inside
  • KT-17738 Java cannot extend class implementing kotlin.collections.Map
  • KT-17753 Strange behavior of if and return statements
  • KT-18583 "ISE: Recursive call in a lazy value" for generic sealed class with nested subclass in a when(this) with inferred return type
  • KT-19861 "IllegalStateException: Label wasn't found during iterating through instructions" for plusAssign with safe call
  • KT-20306 Make 'when' over an 'expect' enum class non-exhaustive
  • KT-20869 kotlin.jvm.internal.DefaultConstructorMarker should be public
  • KT-20996 IllegalStateException: Cannot get FQ name of local class: class in metadata serialization for common code
  • KT-21014 Incorrect bytecode generated for 'PrimitiveArray::size'
  • KT-21092 Reference javaClass for generic property: "couldn't transform method node: get()"
  • KT-21778 "IllegalStateException: Couldn't build context" for inline function inside an anonymous object
  • KT-21900 VerifyError on equals on generic primitive type
  • KT-22098 "UnsupportedOperationException: Don't know how to generate outer expression" on extension function call inside lambda in anonymous object super constructor call
  • KT-22488 Bad line numbers generated for '&&' expression
  • KT-22972 A compiler bug(?) in Number class descendants
  • KT-23619 Transform stateless singleton lambda during inline
  • KT-23881 Declaration of lambda in inlined apply block holds reference to superfluous references causing leak
  • KT-24135 Calling invoke on crossinline suspend lambda leads to no state-machine
  • KT-24193 NoClassDefFoundError: java/lang/Cloneable$DefaultImpls on inheritance from Cloneable through an interface
  • KT-24305 ClassNotFoundException when using Java reflection on local class in an inlined lambda
  • KT-24564 Custom operator fun set on ByteArray resolves properly but is miscompiled
  • KT-25400 "NoClassDefFoundError: kotlin/KotlinPackage" with Turkish system locale on macOS
  • KT-26130 Incorrect method signature for a generic function with inline class as a type parameter upper bound
  • KT-26360 "Method from super interface has a different signature" for Interface that extends both interfaces with and without @​JvmDefault
  • KT-26473 Error on compiling inline class with calls of super methods equals(), hashCode(), toString()
  • KT-26474 VE “Bad type on operand stack” at runtime on calling toString() method of inline class with calls of super methods (toString(), equals(), hashCode()) inside
  • KT-26592 Do not generate private suspend functions as synthetic package-private
  • KT-27449 NoSuchMethodError for local suspend function with suspend lambda parameter with default value
  • KT-27469 "Cannot pop operand off an empty stack" for compound assignment (plusAssign) with a vararg operator get
  • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
  • KT-27830 "Incompatible stack heights" with suspend inline function in do while loop that executes suspend lambda
  • KT-28042 "Cannot pop operand off an empty stack" for a bound callable reference of lambda inside inline function
  • KT-28166 "Argument 1: expected I, but found R" for generic method with generic parameter or receiver with inline class upper bound
  • KT-28331 Consider generating accessors for lateinit properties to avoid assertion on each call
  • KT-28573 Inliner does not update references to transformed object
  • KT-29331 "AnalyzerException: Argument 1: expected R, but found I" with local generic extension property called on Int receiver
  • KT-29595 NoClassDefFoundError with inline reified function with lambda argument returning anonymous object
  • KT-29802 Incorrect reification when the same type parameter name is used for different reified types
  • KT-30041 "AnalyzerException: Expected an object reference, but found ." on nested suspend function calls outer suspend function
  • KT-30066 Consider adding annotations to ConeKotlinType
  • KT-30280 Inline class class literal gets unwrapped in annotation arguments
  • KT-30402 Constant folding works incorrectly with unsigned arithmetics
  • KT-30548 "java.lang.IndexOutOfBoundsException: Cannot pop operand off an empty stack" while compiling access to a private lateinit companion field
  • KT-30629 java.lang.VerifyError: Bad type on operand stack when using a function reference to a generic property
  • KT-30933 Inline function produces IllegalAccessError on property reference from different package
  • KT-31136 "AnalyzerException: Argument 1: expected R, but found I" on x::javaClass when x is inline class object built around primitive type
  • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
  • KT-31592 NoSuchMethodException when inlining public function accessing a protected static Java class member
  • KT-31727 Object expression captures all variables used in constructor
  • KT-32023 "AnalyzerException: Expected I, but found R" with inline suspend function used with callable reference
  • KT-32115 NPE during initialization of enum class with delegated property
  • KT-32153 "AnalyzerException: Expected an object reference, but found ." with recursive suspend local function
  • KT-32351 ClassNotFoundException for anonymous object implementing interface inside a lambda with data class and inline methods
  • KT-32384 Safe cast to generic type argument with inline class upper-bound throws NPE instead of ClassCastException
  • KT-32579 java.lang.VerifyError: Bad type on operand stack on calling inner class of inherited class in super class when casting to inherited class
  • KT-32749 "VerifyError: Call to wrong method" with inline function and accessing class field from anonymous object
  • KT-32793 Generated code crashes by ClassCastException with local suspend function and inline class
  • KT-32812 "AnalyzerException: Argument 1: expected R, but found I" invoking function with default parameter inherited by inline class
  • KT-32821 Missing unboxing of inline class for complex hierarchy of suspend calls
  • KT-33155 ClassNotFoundException for qualified this in anonymous object and as a result of inline function call
  • KT-33173 Internal error: "AnalyzerException: Expected I, but found R" for supercall inside inline lambda from HashSet.remove implementation
  • KT-33577 NoSuchFieldError with nested anonymous objects accessing outer instance property
  • KT-33836 Wrong code generated for a local tailrec suspend function.
  • KT-33873 ClassCastException invoking UByte setter function via reflection
  • KT-34018 "Cannot pop operand off an empty stack" with inline lambda with callable reference
  • KT-34186 JDK11: class file contains malformed variable arity method for vararg sealed class constructor
  • KT-34202 IllegalAccessError on callable reference of function from multifile facade from standard library
  • KT-34255 @​JvmStatic tailrec function: "Cannot pop operand off an empty stack"
  • KT-34507 Incorrect generated code for mutable collection stub methods in case of presence of functions with similar signature
  • KT-34665 Possible index overflow in optimized "for" loop over withIndex()
  • KT-34754 Flow builder: "AnalyzerException: Expected an object reference, but found ." with recursive suspend local function
  • KT-34816 "AnalyzerException: Expected an object reference, but found I" on "this" in inline class member extension suspend function
  • KT-34841 ClassNotFoundException when invoke param function inside anonymous object method
  • KT-35008 "AnalyzerException: Expected an object reference, but found I" in inline class companion calling private constructor
  • KT-35166 NoSuchMethodError at runtime with local property delegate on anonymous object referencing another anonymous object
  • KT-35224 It's possible to pass non-spread arrays after arguments with SAM-conversion
  • KT-35301 MethodInliner fails with "AssertionError: call doesn't correspond to object transformation info" for qualified this in SAM constructor used as parameter of anonymous object inside inline lambda
  • KT-35419 Failed to generate expression: KtNamedFunction for local suspend tailrec function with receiver
  • KT-35511 VerifyError: "Bad type on operand stack" after reification
  • KT-35553 Kotlin compiler generates methods that always have line number 1 for Inline Classes
  • KT-35725 "AssertionError: Couldn't find a context for a super-call" for super member call in property initializer of companion object
  • KT-36420 ClassCastException with inline class Foo extending generic Comparable
  • KT-36713 AnalyzerException: "Incompatible stack heights" with suspend and inline suspend functions
  • KT-36794 Move $assertionsDisabled field to the top-level class
  • KT-36853 IR: UninitializedPropertyAccessException on tailrec with object expression in default argument
  • KT-36875 "RuntimeException: Trying to access skipped parameter" on synthetic local variable access from inline function
  • KT-36916 AnalyzerException: Argument 1: expected I, but found R when using inline class with rxjava
  • KT-36957 Exception during codegen: cannot pop operand off an empty stack (Nothing variable in string interpolation)
  • KT-36984 SAM adapter classes should be generated as anonymous inner classes in JVM_IR
  • KT-37704 Incorrect SMAP syntax
  • KT-37716 "AssertionError: call doesn't correspond to object transformation info" with inline reified type parameter, anonymous object and lambda in constructor call
  • KT-37972 IllegalAccessError on initializing property reference for a property declared in JvmMultifileClass with -Xmultifile-parts-inherit
  • KT-38100 Support local delegated properties (not inlined) in new JVM default modes
  • KT-38833 JVM: java.lang.ClassCastException when loop variable is nullable in for loop over unsigned progression
  • KT-38849 Read-only variable initialized in non-inline lambda using contract callsInPlace EXACTLY_ONCE is not captured correctly in nested lambdas
  • KT-38869 JVM BE produces invalid bytecode when inheriting from AbstractList and declaring methods that look like MutableList implementors (but they aren't)
  • KT-38965 "UnsupportedOperationException: Don't know how to generate outer expression: Closure" with reference to local variable in block argument of anonymous object by delegation
  • KT-39289 CCE in if-else inside annotated 'if' statement
  • KT-39425 AbstractMethodError: "Receiver class does not define or inherit an implementation of the resolved method" using classes with complex Java and Kotlin inheritance hierarchies.
  • KT-39434 IllegalAccessError with local delegated property in lambda in inlined function
  • KT-39687 "Couldn't find captured this" when more than 3 inline functions are nested
  • KT-39784 "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by JvmOverloads annotation inside an inline class
  • KT-40165 ClassCastException caused by SAM conversion used on a functional interface with suspended function
  • KT-40179 "VerifyError: Bad type on operand stack" with parent class get extension function and child class set extension function which used inside child class plusAssign extension function
  • KT-40277 Fix generic types in special bridge methods
  • KT-40308 NoSuchFieldError for multiple delegated extension properties with the same name in a companion object
  • KT-40338 NoSuchFieldError on property without backing field that is called as function reference
  • KT-40392 Deprecate JvmDefault annotation and old -Xjvm-default modes
  • KT-40396 NI: Exceptions when ambiguous type argument and generic invoke
  • KT-40510 "AssertionError: DELEGATION slice must override something" for ByteBuffer delegation
  • KT-40601 VerifyError: "interface method reference is in an indirect superinterface" when calling @​JvmDefault suspend method
  • KT-40809 "Couldn't find captured field" compiler error with local function with recursive call through method reference
  • KT-41056 Increase stub version due to new "contract" keyword
  • KT-41105 IllegalStateException: 'Couldn't find declaration file ' with inline delegate declared in another file
  • KT-41165 "IllegalStateException: Concrete fake override public final fun" when an enum class inherits an interface with a variable 'name' or 'ordinal'
  • KT-41222 "IllegalStateException: Concrete fake override public final fun" when a class property is inherited as merged 'var' from 'val' and 'var' from parent abstract class and interface properties
  • KT-41255 JDK 11: "VerifyError: Bad type on operand stack" with long function body with annotated when expression
  • KT-41427 NoSuchMethodError caused by implementation by delegation to function reference
  • KT-41508 ClassNotFoundException caused by object with overridden function inside a lambda with safe cast receiver
  • KT-41750 Inline classes: ClassCastExceptionError when calling .withIndex() on Iterator over Array
  • KT-41758 Deprecate kotlin.Metadata.bytecodeVersion and avoid using it in the compiler
  • KT-41770 AssertionError: "Asm parameter types should be the same length as Kotlin parameter types" cause by fun interface
  • KT-41874 "IllegalStateException: Couldn't obtain compiled function body" on extension delegated property with inline operator getValue in a different file
  • KT-41917 [FIR] Incorrect calculating property type for override from intersection scope
  • KT-42012 IllegalAccess to protected field instead of getter
  • KT-42017 "AssertionError: Unsigned type expected: UInt?" during codegen when a variable of nullable unsigned type is checking for presence in the range
  • KT-42032 "AnalyzerException: Expected I, but found R" while using Flow.reduce() with suspend function reference
  • KT-42034 ArrayIndexOutOfBoundsException in PopBackwardPropagationTransformer on external override of function in inline class
  • KT-42064 "Parameter specified as non-null is null" with default value of the parameter in operator fun
  • KT-42069 JVM IR: -Xreport-output-files doesn't report any source files for META-INF/*.kotlin_module files
  • KT-42083 AbstractMethodError when 'remove' with irrelevant generic parameter but matching JVM signature is present in Kotlin collection class
  • KT-42092 JVM / IR: "AnalyzerException: Argument 1: expected R, but found J" when trying to add to ArrayList the result of a function applied to int
  • KT-42175 Psi2ir: "AssertionError: Undefined parameter referenced: " on augmented assignment on this in a BuilderInference lambda
  • KT-42179 Platform declaration clash when extending abstract Java class implementing 'java.util.Collection' by abstract Kotlin class implementing Kotlin Set or List
  • KT-42321 JVM IR: do not cast integer value based on the type of a literal receiver of an operator call
  • KT-42337 NoSuchMethodError in JVM backend with inheritance of private functions in the interface
  • KT-42404 "Supertypes of the following classes cannot be resolved" in Rider project
  • KT-42472 No TYPE_INFERENCE_UPPER_BOUND_VIOLATED for Delegated Properties do not check types (in Kotlin 1.4.10)
  • KT-42487 "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by USELESS_IS_CHECK of Double type
  • KT-42533 (N until MIN_VALUE).reversed() should be an empty progression in for loops
  • KT-42588 "IllegalStateException: Concrete fake override public open fun" caused by val override with var with delegation.
  • KT-42634 Different bridges and abstract stubs behavior in abstract class implementing Map<K, String> in JVM and JVM_IR
  • KT-42635 ClassCastException with inline class in for loop
  • KT-42662 AbstractMethodError when using partially specialized generic Map class
  • KT-42694 @​get:Synchronized causes the JVM getter method not to be generated
  • KT-42753 "VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface" with jvm-default=all
  • KT-42879 JVM: Declaration clash in fun interface implementation returning an inline class
  • KT-42900 "VerifyError: Bad return type" incorrect bytecode when a property and an extension property in inline class have the same names
  • KT-42946 FIR2IR: Fix super-calls to Java overrides of special built-in
  • KT-42971 JVM: "AssertionError: Unsigned type expected: T" with UInt loop range
  • KT-42990 "AssertionError: Next value after NEW should be one generated by DUP" caused by extension properties with accessors annotataed as @​JvmStatic
  • KT-43034 AssertionError: Compiler fails with complicated tailrec + inline case
  • KT-43048 JVM_IR: Implement coroutines state clearing
  • KT-43050 JVM IR: incorrect mangling for method with type parameter with inline class bound in the signature
  • KT-43059 Different bridges behavior in class implementing Map<String, String> in JVM and JVM_IR
  • KT-43063 Redundant DefaultImpls delegate is generated in old JVM backend on explicit "duplicate" inheritance from interface
  • KT-43069 JVM: incorrect generic signature for method with implicit return type Nothing overriding a method from Collection
  • KT-43099 Tailrec call in not tail-call position leads to internal compiler error
  • KT-43106 JVM: custom remove in Iterator subclass results in a synthetic bridge
  • KT-43120 JVM: "Expected an object reference, but found ." caused by function which is passed as reference to suspend parameter
  • KT-43167 JVM IR, serialization: "No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with data class containing property defined in body
  • KT-43255 Verify error when inheriting from an abstract class implementing Collection with stub-like method in superclass
  • KT-43303 NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when inferred type argument is not a subtype of type parameter upper bound
  • KT-43333 AbstractMethodError when calling 'toArray' from Java on a Kotlin Collection with custom internal 'toArray'
  • KT-43334 AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove'
  • KT-43342 [FIR2IR] No getter or backing field found for delegated member call
  • KT-43347 [FIR] Synthetic setter with unmatched parameter type isn't found
  • KT-43401 JVM_IR. Additional synchronized flag on JvmOverloads-generated adapter for Synchronized function
  • KT-43405 Turkish locale, Linux Mint: "NoSuchMethodError: 'int[] kotlin.jvm.internal.Intrinsics$Kotlin.intArrayOf(int[])'" with intArrayOf function call
  • KT-43460 JVM: redundant private setter is generated in case of multifile facade
  • KT-43473 "VerifyError: Bad type on operand stack" caused by operator get with optional argument in superclass when called via square brackets on subclass
  • KT-43518 JVM_IR. Additional strictfp flag on JvmOverloads-generated adapter for Strictfp function
  • KT-43569 FIR: inapplicable candidate(s): kotlin/collections/set
  • KT-43616 [FIR] Nullable type parameter-based type after merge in if
  • KT-43669 FIR: No real overrides for FUN IR_EXTERNAL_DECLARATION_STUB
  • KT-43682 Inline extension method of a multifile library inline class not found
  • KT-43687 FIR: UnusedChecker does not take annotation arguments into account
  • KT-43688 FIR: unused checker doesn't handle invokes properly
  • KT-43749 "UnsupportedOperationException: Don't know how to generate outer expression: Closure" caused by Flow and collect method with function reference as a parameter
  • KT-43812 JVM IR: SAM wrapper class with generic supertype mentions missing type parameter in the signature
  • KT-43832 JVM IR: missing bridges for inheritance of class from interface in a complex generic diamond hierarchy
  • KT-43851 JVM IR: function call returning object instance is removed during constant propagation
  • KT-43864 JVM: "Assertion error after mandatory stack transformations: incorrect bytecode" with lateinit property of type T, which has a primitive type upperbound
  • KT-43887 Problem with FunctionReferenceLowering$FunctionReferenceBuilder in kotlin native
  • KT-43912 JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline properties
  • KT-43915 Back-end (JVM) Internal error: wrong bytecode generated for default method
  • KT-43938 NSME when calling 'kotlin.Number' methods on instance of Java class extending Kolin abstract class extending 'kotlin.Number'
  • KT-43942 org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate function
  • KT-43949 FIR: unresolved callable reference as lambda return
  • KT-43983 IllegalStateException: "Couldn't obtain compiled function body for public final suspend inline fun" after moving inline extension function to library
  • KT-43984 FIR: recursion in overridden symbols
  • KT-43984 FIR: recursion in overridden symbols
  • KT-44010 FIR: Inapplicable constructor due to an unresolved reference
  • KT-44030 FIR2IR: uncached type parameters in delegated property
  • KT-44032 FIR2IR: uncached type parameters in Java field
  • KT-44050 FIR: anonymous object as IR parent
  • KT-44054 FIR2IR: incorrect IR origin for substituted override function
  • KT-44058 CompilationException: open suspend fun with @​JvmStatic in open class companion
  • KT-44069 please remove deprecated usages
  • KT-44066 FIR Java: override ambiguity with vararg value type
  • KT-44114 CompilationException when inlining a extension suspend function declared in interface companion with 'this' reference to extension receiver
  • KT-44131 "UnsupportedOperationException: Don't know how to generate outer expression: Closure" when using suspend lambda and a function reference
  • KT-44140 JVM IR: compilation of kotlin.Result crashes with IOOBE while generating toString-impl
  • KT-44141 JVM IR: "ISE: There should be underlying type for inline class type" on usage of type parameter with Result upper bound inside a lambda
  • KT-44192 Allow a greater number of constants in an enum class
  • KT-44202 "ClassCastException" when getting delegated property with inline class and Any/Any? type
  • KT-44210 KJS / IR: "AssertionError: Undefined parameter referenced: defined" caused by plus assign operators in build blocks
  • KT-44233 [IR] Collection Stub generation not correctly considering java.util Collection iterators
  • KT-44234 Private companion property with explicit setter generates invalid bytecode
  • KT-44269 "[TAILREC_ON_VIRTUAL_MEMBER_ERROR] Tailrec is not allowed on open members" with Spring annotation and private tailrec function
  • KT-44284 Make Kotlin binaries publicly unavailable (set KotlinCompilerVersion.IS_PRE_RELEASE = true)
  • KT-44316 ReenteringLazyValueComputationException when analyzing complex lazy delegate
  • KT-44347 Back-end (JVM) Internal error: Couldn't transform method node for suspend function with wrong local for Continuation
  • KT-44368 "IllegalStateException: Error type encountered" when inlining 'invoke' operator without enough information on type variable
  • KT-44412 JVM IR backend fails to compile break in condition of do while
  • KT-44420 False NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATION with 1.4.30-RC
  • KT-44429 JVM IR: unnecessary integer unboxing leads to NPE when using mockito-kotlin
  • KT-44439 Type inference of generic types failing java interop
  • KT-44440 Too many Nothings in inferred type
  • KT-44471 Fix failing script tests after switching to 1.5
  • KT-44474 Compiler expects sealed type inheritors from platform specific source-sets in when expression in common source-set
  • KT-44483 JVM IR: CCE on calling generic vararg function reference with Array expected type
  • KT-44527 Suspend function with kotlin.Result: ClassCastException class kotlin.Result cannot be cast to class ...
  • KT-44529 Inline class calls wrong iterator method in for loop
  • KT-44533 JVM IR: ClassFormatError on synthetic $suspendImpl method generated in interface for a @​JvmDefault function
  • KT-44540 Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java class
  • KT-44546 NI: changed variable fixation order (that can lead to changed resolution)
  • KT-44550 KotlinBinaryClassCache leaks Kotlin plugin classloader on plugin unload
  • KT-44563 Type Inference loosing type annotations in lambda type expectation for function calls with block parameters
  • KT-44583 "Supertypes of the following classes cannot be resolved" error message gives no context
  • KT-44627 JVM IR: ACCIDENTAL_OVERRIDE when overriding a generic field where the type parameter has a primitive bound
  • KT-44631 "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by a default param in inner class constructor which uses method or field from receiver
  • KT-44647 "IllegalAccessError: class TestKt tried to access private method" with String Builder get and inc operator
  • KT-44651 JVM / IR: "IllegalStateException: Illegal type substitutor" with if-else inside class constructor argument inside another if-else
  • KT-44660 Internal inline functions in companion object with inline class return type fails compilation
  • KT-44671 JVM_IR: ClassCastException: Result$Failure cannot be cast to Result with multithreaded coroutines
  • KT-44703 JVM / IR: "IllegalStateException: Unhandled special name in mangledNameFor" caused by a reference to inline class inside interface's companion with lazy initialization
  • KT-44712 JVM / IR: Behavior change after enabling with Mockito
  • KT-44714 Debugger / Coroutines: Local variables are trimmed out too aggressively
  • KT-44722 JVM IR: ClassCastException with inline class, let and bound function reference
  • KT-44726 JVM IR: Incorrect KType nullability for platform type reified as non-null
  • KT-44781 JVM IR: java.lang.NoSuchFieldError: $noName_0 when calling a crossinline lambda within a suspending lambda
  • KT-44798 JVM IR: Inherited platform declarations clash for class implementing both List and Set
  • KT-44801 1.4.30 JVM IR: Unbound symbols not allowed with anonymous object
  • KT-44803 FIR bootstrap: incorrect nullability is set for type alias-based type
  • KT-44827 Non-existing outer class is written in anonymous class for SAM wrapper in inline lambda with capture
  • KT-44837 JVM / IR: ClassCastException with Result object when it is used by a generic method in a suspend call
  • KT-44875 JVM_IR. hashCode call is generated on interface target in fun interface equality
  • KT-44878 JVM_IR: "IllegalStateException: Unexpected types" when checking non-nullable variable is in range between nullable ones with smart-cast
  • KT-44926 MPP: Actual typealias to compiled inline class incompatible with expect inline class
  • KT-44947 Sealed interfaces: Sealed fun interface leads to "NoWhenBranchMatchedException"
  • KT-44993 JVM IR: VerifyError on getfield with Kotlin generic field and elvis operator
  • KT-45008 JVM IR: hashCode is generated as invokeinterface if smart cast to interface is present
  • KT-45011 JVM / IR: "AssertionError: Unbound symbols not allowed"
  • KT-45022 IR: "AssertionError: Undefined variable referenced" from psi2ir caused by plusAssign operator of object
  • KT-45064 JVM IR: "java.lang.AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" with member reference to property in another file with private setter
  • KT-45067 "IllegalArgumentException: Wildcard mast have a bound for annotation of WILDCARD_BOUND position" with BEAM SDK 2.27
  • KT-45069 JVM / IR: New SAM conversions mode fails when converting from Unit to Any
  • KT-45131 JVM / IR: "RuntimeException: Lambda, SAM or anonymous object should have only one constructor" caused by inline class that type cast to reified type parameter inside lambda in inline function
  • KT-45139 Inline class: AssertionError: Expected top level inline class
  • KT-45166 JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method of interface" caused by interface with suspend function
  • KT-45187 JVM / IR: ClassCastException caused by substituting generic type of vararg parameter with java.lang.Void
  • KT-45195 JVM IR: annotation methods are generated as default interface methods if allopen is used
  • KT-45243 "IllegalStateException: Lambdas shouldn't be visited by ESExpressionVisitor" caused by lambda inside kotlin.test.assertNotNull
  • KT-45259 JVM: ClassCastException caused by Result as lambda parameter type
  • KT-45292 AssertionError with recursive inline extension property
  • KT-45300 Deprecate super calls in public-api inline functions
  • KT-45409 Rename jspecify annotations’ package and default not null annotation
  • KT-45446 JVM / IR: NullPointerException caused by unreachable code and comparison
  • KT-45721 JVM / IR: "Unbound symbols not allowed" caused by class reference in sequence lambda
  • KT-45853 JVM / IR: "Accidental override" caused by inheriting Throwable.getCause from Java interface
  • KT-45861 Turning warnings into errors for calls with type parameters annotated by @​OnlyInputTypes
  • KT-45865 JVM IR: "VerifyError: Bad type on operand stack" with enumValueOf on a value from a list of strings
  • KT-45868 JVM IR: ClassCastException with SAM function in init block when SAM is generated via invokedynamic
  • KT-45920 JVM IR: "Accidental override" on redefining get() in custom Map class
  • KT-45934 JVM IR: "java.lang.IllegalStateException: Function has no body" for class implementing interface by delegation
  • KT-45945 JVM / IR: "AssertionError: Unexpected variance in super type argument" with contravariance and intersection types
  • KT-45963 JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" in Dokka tests
  • KT-45967 JVM IR: "IllegalAccessError" with invokedynamic to Java SAM over callable reference to private function
  • KT-45982 Wrong subtyping result on captured types with postponed type variables
  • KT-46007 JVM / IR: "ClassCastException: kotlin.Unit cannot be cast to java.lang.String" caused by default suspend function in interface
  • KT-46060 JVM IR: NullPointerException from RangeContainsLowering when contains is a @​JvmStatic function in object
  • KT-46069 JVM IR: unbound type parameter on generic bound adapted function reference
  • KT-46092 JVM IR: AssertionError "Array type expected: @​[FlexibleNullability] kotlin.CharArray?" on super call to Java constructor with primitive vararg
  • KT-46104 The message on inline -> value class migration should not say that inline classes are deprecated
  • KT-46131 Kotlin 1.5.0-RC errors when reading class file
  • KT-46160 JVM IR: IllegalAccessException at runtime for member reference to JvmMultifileClass member from stdlib
  • KT-46186 Type inference regression in Kotlin 1.5 with constrained generic return types
Docs & Examples
  • KT-45884 Incorrect description for JVM toUpperCase method
IDE
  • KT-33233 Use dependency of library to build built-ins in IDE, instead of loading them from the current classloader
  • KT-34023 kotlin.KotlinNullPointerException at org.jetbrains.kotlin.backend.common.FunctionsFromAnyGenerator.getPrimaryConstructorProperties(FunctionsFromAnyGenerator.kt:66)
  • KT-35947 KFunctionN.call is unresolved in IDE in Kotlin/JVM project
  • KT-37702 Code analysis speed: on-the-fly analysis diagnostics reporting
  • KT-41048 [FIR-IDE] Properly implement methods in KtFirPackageScope
  • KT-41671 Missing nullability information in properties using type inference from get()
  • KT-43824 KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation
  • KT-44128 IDE: Kotlin JVM record has incorrect property accessors as seen from Java
  • KT-44487 MPP, IDE: No error in IDE when sealed class inheritor from common source-set is not used in exhaustive when expression in platform source-set
  • KT-45254 Highlighting for files with certain errors appears only on second opening
  • KT-46097 Light classes: Incomplete nullability information for a getter method of a kotlin property defined in private constructor
IDE. Decompiler, Indexing, Stubs
  • KT-43699 IDE: Unresolved extension method from Java code for simple class with typealias and generics (IllegalStateException: Unknown type parameter)
  • KT-44756 Infinite "UpToDateStubIndexMismatch: PSI and index do not match." with IDEA 2021.1 EAP upon attempt to open "org.gradle.configurationcache" even they seem to be the same
IDE. Gradle Integration
  • KT-37127 Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabled
  • KT-42048 KJS / Gradle integration: Could not determine the dependencies of task ':webApp:testPackageJson' in Android Studio 4.2 Canary 11
IDE. Gradle. Script
  • KT-46215 Dead lock on closing project during the import in IJ211 through ScriptDefinitionsManager
IDE. Inspections and Intentions
  • KT-23824 Return lifted out of if condition causes suspend tail call optimization to no longer apply
  • KT-38155 Lift assignment out of 'if' produces type mismatch without manually adding a semicolon
  • KT-44821 IDE: False positive NO_ELSE_IN_WHEN caused by sealed class and when in another module
  • KT-46088 [IDEA] Incorrect behavior of replace inline class with value class intention
IDE. Misc
  • KT-44675 Incorrect reference to resource into 202 plugin
IDE. Refactorings
  • KT-44079 Sealed Interfaces: Move refactoring should warn about violation of hierarchy restrictions
  • KT-44839 Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5
IDE. Script
  • KT-43288 Allow push notifications about script configuration /dependencies changes via the ScriptDefinitionsProvider EP
JavaScript
  • KT-39272 KJS / IR: Can't use javascript keywords as JsName
  • KT-41650 JS IR BE: default should be a reserved identifier
  • KT-42176 KJS / IR: Interface default method in sub-interface not resolved correctly from extension on super-interface
  • KT-44103 [JSIR] TypeError when bumping from 1.4.20 to 1.4.30-M1
  • KT-44180 KJS / IR: NPE in ConstTransformer of compileDevelopmentExecutableKotlinJs/compileProductionExecutableKotlinJs tasks
  • KT-44415 Kotlin/JS with IR and kotlin-react: "too much recursion" error in runtime in browser
  • KT-44433 KJS IR: support function interfaces with suspend member
  • KT-44469 KJS / IR: Incorrect export functions with bridges
  • KT-44718 MPP/ KJS: "IllegalStateException: Unsupported operation" with serialization plugin and incremental compilation
  • KT-44796 KJS / IR: default parameter of function with @​JsName leads to "RangeError: Maximum call stack size exceeded"
  • KT-45059 KJS / IR: Add possibility for runtime diagnostics of DCE result
Libraries
  • KT-12109 Add stdlib method that combines mapNotNull() and first/firstOrNull()
  • KT-25571 Make random implementations serializable
  • KT-26234 Floored division and remainder function for numeric types
  • KT-32996 kotlin.test: add assertContentEquals for comparing content of arrays, iterables, sequences
  • KT-39177 Make CharCategory available in common multiplatform code
  • KT-40225 Support adding kotlin-test as a single dependency, as it should be with a multiplatform library
  • KT-42071 Strict version of String.toBoolean()
  • KT-42720 Kotlin ArrayDeque on JVM: provide optimized toArray method
  • KT-42840 Commonize and generalize String.contentEquals that is currently JVM-only
  • KT-43772 Kotlin/Native unfinished workers detected.
  • KT-44168 Prevent storing NaN and negative zero in kotlin.time.Duration
  • KT-44369 Commonize Char.titlecaseChar() and Char.titlecase() that are currently JVM-only
  • KT-44783 Add IS_VALUE flag for value classes to kotlinx-metadata-jvm
  • KT-44815 Remove kotlin-annotations-android and JVM compiler support for @​ParameterName/@​DefaultValue/@​DefaultNull
  • KT-45213 Update Unicode version used in K/N for Char and String case conversion functions
Middle-end. IR
  • KT-43831 Compilation failed, IrSimpleFunctionPublicSymbolImpl is already bound
  • KT-44100 KJS / IR: Top level declarations added in IR plugin are not referenceable from other modules
  • KT-45170 IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside object
Native
  • KT-42446 Native: SIGSEGV in Kotlin_Array_get on linuxArm64
  • KT-43502 [K/N] relocation R_X86_64_PC32 cannot be used against symbol __environ; recompile with -fPIC
  • KT-44295 1.4.21 Kotlin native ndk compiler crash
  • KT-44774 ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS)
  • KT-44746 Different hashCode() results for Kotlin/Native stdlib
Native. C and ObjC Import
  • KT-44824 cinterop tool no longer appends .klib to produced klibs
Native. C Export
  • KT-36639 MPP: Build ios "staticLib" or "sharedLib" binary failed if interface contains member extension function
  • KT-41725 Dynamic library doesn't load on raspberrypi
Native. ObjC Export
  • KT-44549 In the Xcode debug session, call stack is missing a frame when the iOS app fails
Native. Platforms
  • KT-45094 Fail to compile Kotlin Native sources under Oracle Linux 7
Reflection
  • KT-44594 Avoid using unnecessary array types reflection in kotlin-reflect
  • KT-44782 Add KClass.isValue to kotlin-reflect
Tools. Ant
  • KT-16227 Ant task: do not include runtime by default if destination is a jar
  • KT-44293 Support fork mode in kotlinc Ant task
Tools. CLI
  • KT-17344 Include kotlin-reflect to resulting jar if "-include-runtime" is specified
  • KT-43220 -include-runtime should add .kotlin_builtins to the output
  • KT-43704 Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle)
  • KT-44078 Do not include module-info.class of kotlin-stdlib.jar to the resulting jar with -include-runtime
  • KT-44232 CLI: do not pass -noverify to java process starting from JDK 13
  • KT-45566 JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel
Tools. CLI. Native
  • KT-43874 Native / CLI: provide a way to show difference between Jvm and Native compilers
Tools. Compiler Plugins
  • KT-45783 Serialization: "AnalyzerException: Expected an object reference, but found I" caused by JvmInline and Serializable annotations
Tools. Gradle
  • KT-31027 java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of 'java.lang.Boolean' appears in /system/framework/core-libart.jar)
  • KT-43605 Kotlin Gradle Plugin 1.4.20 undeclared system property reads cause problems with Gradle configuration cache enabled
  • KT-44204 Kotlin Gradle Plugin 1.4.21 makes impossible to use ANTLR in other plugins
  • KT-44361 Gradle: deprecate options includeRuntime, noStdlib, noReflect
  • KT-44462 Kotlin Gradle plugin creates compile configuration with Gradle 7.0
  • KT-44834 Gradle Kotlin DSL: Add languageSettings configuration lambda without apply call
  • KT-44949 Compatibility with Gradle 7.0
  • KT-44957 gradle - target.compilations seems to be deprecated
  • KT-45340 Update minimal supported version of Kotlin Gradle Plugin to 6.1
Tools. Gradle. JS
  • KT-43237 KJS: -jsLegacy Naming Convention is incompatible with NPM
  • KT-43869 Error in webpack configuration not displayed
  • KT-44614 Update Node.JS and Yarn versions
  • KT-44616 Kotlin/JS: IR backend with React: "Uncaught TypeError: _this__0 is undefined" runtime error in browser
  • KT-45574 Sync Kotlin/JS compile tasks into one folder (build/js/packages//kotlin)
Tools. Gradle. Multiplatform
  • KT-42098 Commonizer is re-launched for every included Gradle build
  • KT-43116 Merge together MultiplatformHighlightingTest and MultiplatformAnalysisTest
  • KT-44322 KotlinTargetComponent maintenance for -sources.jar
  • KT-44900 Support gradle configuration cache with kotlin.multiplatform plugin
Tools. Gradle. Native
  • KT-46122 kotlinx-serialization and kotlinx-datetime can't be built with 1.5.0-RC
Tools. JPS
  • KT-13631 Compilation fails on Turkish locale because of locale-sensitive uppercasing
  • KT-44644 Mark all @JvmMultifileClass parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle plugin
Tools. Scripts
  • KT-45194 KT: Generate Kotlin Entities script: it doesn't work
  • KT-44580 Scripts: Unable to set new file annotation hooks after first snippet compilation
Tools. kapt
  • KT-43686 KaptWithoutKotlincTask should use @CompileClasspath for kotlinStdlibClasspath for cache relocateability.
  • KT-44130 KAPT changes field order in 1.4.30-M1
  • KT-44909 Kapt: ReenteringLazyValueComputationException without stacktrace caused by when expression with sealed class function without explicit return type
  • KT-45168 KAPT: Java stubs generated for Kotlin files generated by annotation processors
Checksums
File Sha256
kotlin-compiler-1.5.0.zip 0343fc1f628fec1beccc9e534d2b8b7a0f8964b97e21563585d44d6d928ed1b7
kotlin-native-linux-1.5.0.tar.gz 33241c460fab8c496a6b01ca08670ae7f667df23acc56081f8b37c50b021b50f
kotlin-native-macos-1.5.0.tar.gz 246cacdc4791067f4d99d0baf3d58aecfd2c43b54bf9a84f463c1d782c9718b5
kotlin-native-windows-1.5.0.zip 5755391536bcac49c7ef87e0788e595d38776af534eb08cc5ab8879e9f1a855d

v1.4.32: Kotlin 1.4.32

Changelog

IDE
  • KT-43824 KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation
  • KT-45287 LightClasses: KtLightSimpleModifierList is no more a parent of KtLightAnnotationForSourceEntry
  • KT-45291 LightClasses: can't get annotations for constructor val-parameter
  • KT-45417 ULC leakage of primitive type annotations
Tools. CLI
  • KT-44758 kotlin-compiler-embeddable dependency includes unshaded fastutil package
  • KT-45007 Concurrent Kotlin script compilation/execution results in NullPointerException in KeyedExtensionCollector.getPoint()

Checksums

File Sha256
kotlin-compiler-1.4.32.zip dfef23bb86bd5f36166d4ec1267c8de53b3827c446d54e82322c6b6daad3594c
kotlin-native-linux-1.4.32.tar.gz 3712fab4c60484fd8b5538dd018a0023033cb3ea38d2a3023c79b342e4e8b24d
kotlin-native-macos-1.4.32.tar.gz a55eb3c60bb9810360c5a992dca34328d806fe13f3bfc3120b49345f569fd3cc
kotlin-native-windows-1.4.32.zip 3bd6f1b9293897a45d0b33ee14ca51b33b57d0413b774458c6e4aee393e1b772

v1.4.31: Kotlin 1.4.31

1.4.31

Compiler
  • KT-39776 2020.3+: Unresolved reference to Kotlin stdlib function
IDE. Gradle Integration
  • KT-44845 After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true
IDE. Gradle. Script
  • KTIJ-11137 build.gradle.kts: Fatal error during save/load standalone scripts settings
  • KTIJ-898 Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels
IDE. Multiplatform
  • KTIJ-1200 KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds
IDE
Fixes
  • KT-44697 New JVM IR backend notification - narrow its triggering to Kotlin projects
  • KT-44523 IDE notification for trying new JVM backend
  • KTIJ-696 Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440)

Checksums

File Sha256
kotlin-compiler-1.4.31.zip b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec *
kotlin-native-linux-1.4.31.tar.gz 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3
kotlin-native-macos-1.4.31.tar.gz 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32
kotlin-native-windows-1.4.31.zip a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4

* Sorry, Sha256 sum was initially published incorrectly. Now it is fixed.

v1.4.30: Kotlin 1.4.30

CHANGELOG
Android
  • KT-42383 HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid
Backend. Native
  • KT-38772 Native: support non-reified type parameters in typeOf
  • KT-42234 Move LLVM optimization parameters into konan.properties
  • KT-42649 IndexOutOfBoundsException during InlineClassTransformer lowering
  • KT-42942 Native: optimize peak backend memory by clearing BindingContext after psi2ir
  • KT-43198 Native: support init blocks inside inline classes
Compiler
New Features
  • KT-28055 Support init blocks inside inline classes
  • KT-28056 Consider supporting non-public primary constructors for inline classes
  • KT-41265 Support noarg compiler plugin for JVM IR
  • KT-42094 Allow open callable members in expect interfaces
  • KT-43129 FIR: Support OverloadResolutionByLambdaReturnType
  • KT-43592 Promote JVM IR compiler backend to Beta
  • KT-43919 Support loading Java annotations on base classes and implementing interfaces' type arguments
  • KT-44021 Enable JVM IR backend by default in 1.5
Performance Improvements
  • KT-41352 JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end
  • KT-41644 NI: Infinite compilation
  • KT-42791 OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference
  • KT-42920 NI: Improve performance around adding constraints
Fixes
  • KT-11454 Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files
  • KT-11732 Verify error for generic interface method invocation with default parameters
  • KT-14612 "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias
  • KT-18344 Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself
  • KT-18768 @​Notnull annotation from Java does not work with varargs
  • KT-20548 java.lang.IllegalStateException: Illegal class container on simple Java code parsing
  • KT-22465 Excessive synthetic method for private setter from superclass
  • KT-23816 Inline classes: constants and annotations
  • KT-24158 AE: No receiver found on incomplete code with $-signs
  • KT-24392 Nullability of Java arrays is read incorrectly if @​Nullable annotation has both targets TYPE_USE and VALUE_PARAMETER
  • KT-26229 Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect
  • KT-29735 KNPE at KtEnumEntrySuperclassReferenceExpression.getReferencedElement with explicit type argument inside enum member constructor
  • KT-31389 ClassFormatError with companion object in annotation with @​JvmStatic
  • KT-31907 ISE: UNIT_EXPECTED_TYPE on parsing array literal inside lambda with Unit return type
  • KT-32228 Inconsistent boxing/unboxing for inline classes when interface is specialized by object expression
  • KT-32450 Inline class incorrectly gets re-wrapped when provided to a function
  • KT-35849 Missing nullability assertion on lambda return value if expected type has generic return value type
  • KT-35902 Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default values
  • KT-36399 Gradually support TYPE_USE nullability annotations read from class-files
  • KT-36769 JVM IR: Missing LVT entries for inline function (default) parameters at call site
  • KT-36982 JVM IR: SAM adapter classes are generated as synthetic
  • KT-37007 JVM IR: extraneous property accessors are generated in multifile facade for InlineOnly property
  • KT-37317 [FIR] Add support of extension functions in postponed lambda completion
  • KT-38400 FIR: interface abstract is preferred to Any method in super resolve
  • KT-38536 JVM IR: bound adapted function references are not inlined
  • KT-38656 FIR: determine overridden member visibility properly
  • KT-38901 FIR: Make behavior of integer literals overflow consistent with FE 1.0
  • KT-39709 [FIR] False positive UNINITIALIZED_VARIABLE in presence of complex graph with jumps
  • KT-39923 Result.Failure will get wrapped with Success when using with RxJava
  • KT-40198 '$default' methods in 'kotlin/test/AssertionsKt' generated as non-synthetic by JVM_IR
  • KT-40200 IDE: Multiple top-level main functions in different files: broken highlighting, "No descriptor resolved for FUN"
  • KT-40262 ACC_DEPRECATED flag not generated for property getter delegate in multifile class facade in JVM_IR
  • KT-40282 Inline class wrapping Any gets double boxed
  • KT-40464 JVM_IR does not generate LINENUMBER at closing brace of (suspend) lambda
  • KT-40500 Warnings reporting by Java nullability annotations doesn't work for not top-level types
  • KT-40926 IDE import actions do not add required import for convention invoke() extension call
  • KT-40948 IllegalAccessError while initializing val property in EXACTLY_ONCE lambda that is passed to another function
  • KT-40991 NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED with convention invoke call
  • KT-41163 Double wrapped value in Result class after map operation
  • KT-41284 Spring CGLIB proxies break auto-generated data class componentN and copy methods when using JVM IR
  • KT-41468 JVM IR: IllegalAccessError on access to abstract base member from another package, from anonymous object inside abstract class
  • KT-41491 UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED when invoking non-functional value as a function
  • KT-41493 JVM IR: names of classes for local delegated variables contain the variable name twice
  • KT-41792 [FIR] Introduce & use ConeAttribute.UnsafeVariance
  • KT-41793 [FIR] Make captured types accessible at the end of resolve
  • KT-41809 JVM IR: name for internal $default method doesn't include module name
  • KT-41810 JVM IR: Deprecated(HIDDEN) class is incorrectly generated as synthetic
  • KT-41841 JVM IR: delegates for private functions with default arguments are generated in multifile classes
  • KT-41857 Flaky 'ConcurrentModificationException' through kotlin.serialization.DescriptorSerializer
  • KT-41903 JVM IR: do not generate LineNumberTable in auto-generated members of data classes
  • KT-41911 JVM IR: nested big-arity function calls are not lowered
  • KT-41957 JVM IR: step into suspend function goes to the first line of the file
  • KT-41960 JVM IR: smart step into members implemented with delegation to interface doesn't work
  • KT-41961 JVM IR: line numbers are not generated in JvmMultifileClass facade declarations
  • KT-41962 JVM IR: intermittent -1 line numbers in the state machine cause double stepping in the debugger
  • KT-42001 Cannot resolve symbol: AssertionError: Module <sdk 1.8> is not contained in his own dependencies
  • KT-42002 JVM / IR: IllegalStateException: "No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" caused by named arguments
  • KT-42021 JVM / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" during IR lowering with suspend conversion
  • KT-42033 JVM IR: accidental override in Map subclass with custom implementations of some members
  • KT-42036 IR: "AssertionError: TypeAliasDescriptor expected: deserialized class Nothing" when referencing typealias with @​UnsafeVariance
  • KT-42043 JVM IR: Don't generate collection stubs when implementing methods with more specific return types
  • KT-42044 Compiler error when lambda with contract surrounded with parentheses
  • KT-42114 JVM_IR generates stub for 'removeIf' in abstract classes implementing 'List' and 'Set'
  • KT-42115 JVM_IR doesn't generate 'next' and 'hasNext' method in an abstract class implementing 'ListIterator'
  • KT-42116 FIR: Java accessor function should not exist in scope together with relevant property
  • KT-42117 IR-based evaluator cannot handle Java static final fields
  • KT-42118 FIR2IR: field-targeted annotation is placed on a property, not on a field
  • KT-42130 FIR: type variable is observed after when condition analysis
  • KT-42132 FIR2IR: companion function reference has no dispatch receiver
  • KT-42137 JVM IR: AbstractMethodError on complex hierarchy where implementation comes from another supertype and has a more specific type
  • KT-42186 JVM / IR: Infinite cycle in for expression when unsigned bytes are used in decreasing loop range
  • KT-42251 JVM / IR: "IllegalStateException: Descriptor can be left only if it is last" when comparing the i-th element of the container of Int? and i with change
  • KT-42253 JVM IR: NoSuchFieldError on local delegated property in inline function whose call site happens before declaration in the source
  • KT-42281 JVM / IR: AnalyzerException when comparing Int and array that cast to Any in if condition
  • KT-42340 FIR2IR: duplicating fake overrides
  • KT-42344 IR-based evaluator doesn't support "annotation in annotation"
  • KT-42346 FIR: double-vararg in IR while resolving collection literal as Java annotation argument
  • KT-42348 FIR: false UNINITIALIZED_VARIABLE in local class
  • KT-42350 FIR: false UNINITIALIZED_VARIABLE after initialization in try block
  • KT-42351 FIR: false HIDDEN in enum entry member call
  • KT-42354 JVM / IR: "AssertionError: Unexpected IR element found during code generation" with KProperty get invocation
  • KT-42359 FIR2IR: cannot mangle type parameter
  • KT-42373 FIR2IR: local object nested class has no parent if forward-referenced by nested class supertype
  • KT-42384 FIR (BE): top-level field has no parent class in BE
  • KT-42496 FIR resolve: synthetic property is written but has no setter
  • KT-42517 FIR: exception in BE for recursive inline call
  • KT-42530 "AssertionError: No type for resolved lambda argument" on attempting to assign a Pair to a couple of values in a scratch file
  • KT-42601 [FIR] Inherited declaration clash for stdlib inheritors
  • KT-42622 NI: IllegalStateException for if expression with method reference inside flow
  • KT-42642 ISE: No getProgressionLastElement for progression type IntProgressionType
  • KT-42650 JVM IR: extraneous nullability annotation on a generic function of a flexible type
  • KT-42656 FIR2IR: unsupported callable reference for Java field
  • KT-42725 Debugger steps into core library inline functions in chained calls
  • KT-42758 JVM / IR: Deserialized object that overrides readResolve() is not reference equal to the singleton instance
  • KT-42770 FIR: duplicating signatures in mangler (typealias for functional type)
  • KT-42771 FIR: duplicating signature in mangler (data class with delegate)
  • KT-42814 FIR: false UNINITIALIZED_VARIABLE in local function after if...else
  • KT-42844 FIR: Property write in init block resolved to parameter write
  • KT-42846 JVM_IR: NPE on function reference to @​JvmStatic method in a different file
  • KT-42933 JVM / IR: "AnalyzerException: Expected an object reference, but found I" with local delegate in inline class
  • KT-43006 JVM/JVM_IR: do not generate no-arg constructor for constructor with default arguments if there are inline class types in the signature
  • KT-43017 JVM / IR: AssertionError when callable reference passed into a function requiring a suspendable function
  • KT-43051 JVM IR: extraneous methods overridding default (Java 8) collection methods in inline class that extends MutableList
  • KT-43067 Inner class declaration inside inline class should be prohibited
  • KT-43068 JVM IR: no generic signatures for explicitly written methods in a List subclass, whose signature coincides with MutableList methods
  • KT-43132 JVM / IR: Method name '<get-...>' in class '...$screenTexts$1$1' cannot be represented in dex format.
  • KT-43145 JVM IR: $default methods in multi-file facades are generated as non-synthetic final
  • KT-43156 FIR: false UNINITIALIZED_VARIABLE after initialization in synchronized block
  • KT-43196 JVM: extra non-static member is generated for extension property in inline class
  • KT-43199 JVM IR: synthetic flag for deprecated-hidden is not generated for DeprecatedSinceKotlin and deprecation from override
  • KT-43207 JVM IR: no collection stub for iterator is generated on extending AbstractCollection
  • KT-43217 JVM_IR: Multiple FAKE_OVERRIDES for java methods using @​NonNull Double and java double
  • KT-43225 Confusing message of warning NULLABLE_TYPE_PARAMETER_AGAINST_NOT_NULL_TYPE_PARAMETER
  • KT-43226 "Incompatible stack heights" with non-local return to outer lambda inside suspend lambda
  • KT-43242 JVM / IR: "AnalyzerException: Expected I, but found R" caused by when inside object with @​Nullable Integer subject
  • KT-43249 Wrong code generated for suspend lambdas with inline class parameters
  • KT-43286 JVM IR: IAE "Inline class types should have the same representation: Lkotlin/UInt; != I" on smart cast of unsigned type value with JVM target 1.8
  • KT-43326 JVM_IR: No deprecated flag for getter of deprecated interface property copied to DefaultImpls
  • KT-43327 JVM_IR: No deprecated or synthetic flag for accessors of deprecated-hidden property of unsigned type
  • KT-43332 FIR: Smart casts lead to false-positive ambiguity
  • KT-43370 JVM IR: No deprecated flag for getter of deprecated property copied via delegation by interface
  • KT-43459 JVM_IR. Wrong signature for synthetic $annotations method for extension property on nullable primitive
  • KT-43478 NI: "IndexOutOfBoundsException: Index: 3, Size: 3" caused by is check with raw type inside if condition with when inside
  • KT-43519 JVM_IR. External functions generated differently in multi file facades
  • KT-43524 JVM_IR. Missed deprecation flag on companion @​JvmStatic property accessor
  • KT-43525 Prohibit JvmOverloads on declarations with inline class types in parameters
  • KT-43536 JVM IR: IllegalStateException is not caught by runCatching under Deferred.await() with kotlinx.coroutines
  • KT-43562 JVM IR: incorrect mangling for Collection.size in unsigned arrays
  • KT-43584 [FIR] Java annotations with named arguments aren't loaded correctly
  • KT-43587 Invalid default parameter value in expect actual declaration on jvm
  • KT-43630 "AssertionError: Number of arguments should not be less than number of parameters" during capturing intersection raw type with star projection
  • KT-43698 NoSuchMethodError for inline class implementing interface with @​JvmDefault methods, -Xjvm-default=enable
  • KT-43741 Report error on inline class implementing 'kotlin.Cloneable'
  • KT-43845 org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtBlockExpression
  • KT-43956 NI: "Error type encountered – UninferredParameterTypeConstructor" on "try" and other constructs with code block as a value
  • KT-44055 Left uninferred type parameter for callable references inside special calls
  • KT-44113 Compiler frontend exception: Number of arguments should not be less than number of parameters, but: parameters=2, args=1
  • KT-44145 No highlighting for not initialized base constructor and NoSuchMethodError in Android plugin
  • KT-44540 Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java class
  • KT-44563 Type Inference loosing type annotations in lambda type expectation for function calls with block parameters
IDE
New Features
  • KT-44075 Sealed interfaces: New Kotlin Class/File menu update
Fixes
  • KT-29454 Light class with unexpected name when using obfuscated library
  • KT-31553 Complete Statement: Wrong auto-insertion of closing curly brace for a code block
  • KT-33466 IDE generates incorrect external override with body for overriding open external method
  • KT-39458 Add CLI support for UL classes
  • KT-40403 UAST: PsiMethod for invoked extension function/property misses @receiver: annotations
  • KT-41406 Kotlin doesn't report annotations for type arguments (no way to add @Nls, @NonNls annotations to String collections in Kotlin)
  • KT-41420 UAST does not return information about type annotations
  • KT-42194 OOME: Java heap space from incremental compilation
  • KT-42754 MPP: no smart cast for Common nullable property used in platform module
  • KT-42821 MPP, IDE: Platform-specific errors are reported even when build doesn't target that platform
  • KT-44116 Add language version 1.5 to the compiler configuration preferences
  • KT-44523 IDE notification for trying new JVM backend
  • KT-44543 Kotlin's LowMemoryWatcher leaks on Kotlin plugin unload
IDE. Android
  • KT-42381 MPP: Bad IDEA dependencies: JVM module depending on built artifact instead of sources of module with Android Plugin applied
IDE. Completion
  • KT-44016 Code completion: support for "sealed interface"
  • KT-44250 Code completion does not work in when expression with sealed type argument
IDE. Gradle. Script
  • KT-39105 AE “JvmBuiltins has not been initialized properly” after creating new Gradle/Kotlin-based project via old Project Wizard
IDE. Inspections and Intentions
New Features
  • KT-22666 "Create enum constant" quick fix could be provided
  • KT-24556 Add Remove quick fix for "Expression under 'when' is never equal to null"
  • KT-34121 Report unused result of data class copy method
  • KT-34533 INLINE_CLASS_CONSTRUCTOR_NOT_FINAL_READ_ONLY_PARAMETER: Add quickfix "Add val to parameter"
  • KT-35215 Quickfix for CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT to remove const modifier
  • KT-40251 Intention action to evaluate compile time expression
  • KT-44017 Sealed interfaces: Java side Inspection "implementation of Kotlin sealed interface is forbidden"
  • KT-43941 Sealed interfaces: intention to extend class/interface
  • KT-44043 Sealed interfaces: quickfix to move class/interface to proper location
Fixes
  • KT-20420 Intention "Put arguments/parameters on separate lines" doesn't respect the "Place ')' on new line" Kotlin code style setting
  • KT-21799 Quickfix "Change function signature" for receiver type doesn't change it
  • KT-22665 "Create object" quick fix produce wrong code for enum
  • KT-23934 IntelliJ suggest "merge map to joinToString" even when such action is impossible due to suspending actions in map
  • KT-30894 Wrong results of intention "Add names to call arguments" when backticked argument starts from digit
  • KT-31523 ReplaceWith introduces additional argument name for lambda when named argument is used on call-site
  • KT-31833 JavaMapForEachInspection should report for expression with implicit receiver
  • KT-33096 Turn 'MapGetWithNotNullAssertionOperator' into an intention
  • KT-33212 False positive "map.put() should be converted to assignment" inspection when class inherited from MutableMap has "set" method
  • KT-34270 False negative "Join declaration and assignment" with constructor call
  • KT-34859 False positive "Should be replaced with Kotlin function" inspection for Character.toString(int) function
  • KT-34959 False positive "Redundant overriding method" with different implemented/overridden signatures
  • KT-35051 False positive "Remove redundant backticks" if variable inside the string and isn't followed by space
  • KT-35097 False positive "Call replaceable with binary operator" on explicit 'equals' call on a platform type value
  • KT-35165 "Replace 'if' with elvis operator": don't suggest if val initializer is a complex expression
  • KT-35346 False positive 'Make internal' suggestion for function inside interface
  • KT-35357 "Move lambda argument out of parentheses" does not preserve block comments
  • KT-38349 Invalid suggestion to fold to elvis when having a var-variable
  • KT-40704 False negative "Redundant semicolon" at start of line
  • KT-40861 "Convert to secondary constructor" intention expected on class name
  • KT-40879 False positive "Redundant 'inner' modifier" when calling another inner class with empty constructor
  • KT-40985 "Remove explicit type arguments" is suggested when type has an annotation
  • KT-41223 False positive "Redundant inner modifier" inspection ignores constructor arguments of object expressions
  • KT-41246 False positive "Receiver parameter is never used" with anonymous function expression
  • KT-41298 "Remove redundant 'with' call" intention works incorrectly with non-local returns and single-expression functions
  • KT-41311 False positive "Redundant inner modifier" when deriving from a nested Java class
  • KT-41499 "Convert receiver to parameter" produces code with incorrect order of generic type and function invocation in case of generic function with lambda as a parameter
  • KT-41680 False positive "Redundant inner modifier" when deriving from class with non-empty constructor and value passed to it from enclosing class
  • KT-42201 Add Opt-In action doesn't work if there is already OptIn annotation
  • KT-42255 "Replace elvis expression with 'if' expression" intention shouldn't introduce unnecessary variable if 'error' expression is used
IDE. JS
  • KT-43760 KJS: Debugging Kotlin code for Node.js runtime doesn't work
IDE. Misc
  • KT-44018 Sealed interfaces: IDE side implementation for hierarchy provider
IDE. Multiplatform
  • KT-40814 MISSING_DEPENDENCY_CLASS when consuming native-shared library in a source-set with fewer targets than library has
IDE. Run Configurations
  • KT-34535 Unable to run common tests on Android via gutter icon in a multiplatform project
IDE. Scratch
  • KT-25038 Scratch: Destructuring declaration produces an unresolved reference
  • KT-43415 Kotlin scratch file could not be run and could lead to dead lock
IDE. Script
  • KT-44117 IDE / Scripts: custom kotlin script definitions aren't loaded
JavaScript
Fixes
  • KT-31072 Don't use non-reified arguments to specialize type operations in IR inliner
  • KT-39964 Throwable incorrectly implements constructor for (null, cause) args in K/JS-IR
  • KT-40090 KJS: IR. Invalid behaviour for optional parameters (redundant tail undefined parameters)
  • KT-40686 KJS: Uncaught ReferenceError caused by external class as type inside eventListener in init block
  • KT-40771 KJS / IR: "ReferenceError: Metadata is not defined" caused by default parameter value in inner class constructor
  • KT-41032 KJS / IR: "AssertionError: Assertion failed" caused by class that is delegated to inherited interface
  • KT-41076 KJS / IR: "AssertionError: Assertion failed" caused by overridden extensiion function in child class
  • KT-41771 KJS / IR: IndexOutOfBoundsException "Index 0 out of bounds for length 0" caused by inline class with List in primary constructor and vararg in secondary
  • KT-42025 KJS / IR: IrConstructorCallImpl: No such type argument slot: 0
  • KT-42112 KJS: StackOverflowError on @​JsExport in case of name clash with function with Enum parameter with star-projection
  • KT-42262 KJS: break-statements without label are ignored in a when
  • KT-42357 KotlinJS - external class constructor with vararg does not correctly handle spread operator.
  • KT-42364 KJS: Properties of interface delegate are non-configurable
  • KT-43212 JS IR: support init blocks inside inline classes
  • KT-43222 KJS IR: prototype lazy initialization for top-level properties like in JVM
  • KT-43313 KJS / IR: "Can't find name for declaration FUN" for secondary constructor
  • KT-43901 Call to enum values() method from enum companion object leads to non-initialized enum instances
KMM Plugin
  • KT-41677 Could not launch iOS project with custom display name
  • KT-42463 Launch common tests for Android on local JVM via run gutter
  • KT-43188 NoSuchMethodError in New Module Wizard of KMM Project
Libraries
  • KT-41112 Docs: add more details about bit shift operations
  • KT-41278 map.entries.contains can return false if the argument is not MutableEntry
  • KT-41356 Incorrect documentation for rangeTo function
  • KT-44456 Introduce locale-agnostic API for case conversions
  • KT-44458 Introduce new Char-to-code and Char-to-digit conversions
Middle-end. IR
  • KT-41765 [Native/IR] Could not resolveFakeOverride()
  • KT-42054 Psi2ir: "RuntimeException: IrSimpleFunctionSymbolImpl is already bound" when using result of function with overload resolution by lambda return type
Native
  • KT-44219 1.4.30-M1: Non-reified type parameters with recursive bounds are not supported yet
  • KT-44271 [Kotlin/Native] Incorrect linking when targeting linux_x64 from mingw_x64 host
Native. C and ObjC Import
  • KT-42412 [C-interop] Modality of generated property accessors is always FINAL
Native. ObjC Export
  • KT-38530 Native: values() method of enum classes is not exposed to Objective-C/Swift
  • KT-43599 K/N: Unbound symbols not allowed
Native. Platform libraries
Native. Platforms
Native. Runtime
  • KT-42822 Kotlin/Native Worker leaks ObjC/Swift autorelease references (and indirectly bridged K/N references) on Darwin targets
Native. Stdlib
  • KT-42172 Kotlin/Native: StableRef.dispose race condition on Kotlin deinitRuntime
  • KT-42428 Inconsistent behavior of map.entries on Kotlin.Native
Reflection
  • KT-34024 "KotlinReflectionInternalError: Inconsistent number of parameters" with javaMethod on suspending functions with inline class in function signature or inside the function
Tools. CLI
  • KT-43294 Support -no-stdlib option for the kotlin runner
  • KT-43406 JVM: produce deterministic jar files if -d option value is a .jar file
Tools. CLI. Native
  • KT-40670 Allow to override konan.properties via CLI
Tools. Compiler Plugins
  • KT-41764 KJS /IR IllegalStateException: "Symbol for public kotlin/arrayOf is unbound" with serialization plugin
  • KT-42976 kotlinx.serialization + JVM IR: NPE on annotation with @​SerialInfo
  • KT-43725 Prohibit inner and local classes in kotlin-noarg
Tools. Gradle
  • KT-38692 KaptGenerateStubs Gradle task will not clean up outputs when sources are empty and not an incremental build
  • KT-40140 kotlin-android plugin eagerly creates several Gradle tasks
  • KT-41295 Kotlin Gradle Plugin 1.4.20 Configuration Caching bug due to friendPath provider
  • KT-42058 Support moduleName option in Kotlin Gradle plugin for JVM
  • KT-43054 Implementation of AbstractKotlinTarget#buildAdhocComponentsFromKotlinVariants breaks configuration caching
  • KT-43489 Incremental compilation - unable to find history files causing full recompilation
  • KT-43740 Gradle out-of-process runner fails with unclear diagnostics if build directory does not exist
  • KT-43895 Fix cacheability warnings for the Kotlin plugins
Tools. Gradle. JS
  • KT-42400 Kotlin/JS: Gradle DSL: customField() is rejected in Groovy build.gradle
  • KT-42462 NPM dependency declaration with Groovy interpolated string
  • KT-42954 Kotlin/JS: IDE import after changing kotlin.js.externals.output.format does not re-generate externals
  • KT-43535 Common webpack configuration breaks on lambda serialization in some cases
  • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary
  • KT-43793 nodeArgs in NodeJsExec task
  • KT-43842 KJS: Invalid output.library support for null value
  • KT-44104 KJS / Gradle: An ability to pass jvm args to K2JSDce process
Tools. Gradle. Multiplatform
  • KT-42269 Setup default dependsOn edges for Android source sets
  • KT-42413 [MPP/gradle] withJava breaks build on 1.4.20-M1
  • KT-43141 Gradle / Configuration cache: NPE from org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon.getKotlinOptions() on reusing configuration cache for task compileCommonMainKotlinMetadata
  • KT-43329 Gradle / Configuration cache: IAE “Parameter specified as non-null is null: method KotlinMetadataTargetConfiguratorKt.isCompatibilityMetadataVariantEnabled, parameter $this$isCompatibilityMetadataVariantEnabled” on reusing configuration cache for task compileKotlinMetadata
  • KT-44298 Kotlin 1.4.20+ MPP "root" module publication does not include the source JAR that used to be published in the -metadata modules
Tools. Gradle. Native
  • KT-39564 Make kotlin-native Gradle tasks Cacheable
  • KT-42485 Fail on cinterop: clang_indexTranslationUnit returned 1
  • KT-42550 Adding subspec dependency with git location failed
  • KT-42849 Gradle / Configuration cache: tasks nativeMetadataJar, runReleaseExecutableNative, runDebugExecutableNative are unsupported and fails on reusing configuration cache
  • KT-42938 CocoaPods Gradle plugin: podBuildDependencies doesn't properly report xcodebuild failures
  • KT-43151 Gradle / Configuration cache: UPAE “lateinit property binary has not been initialized” on reusing configuration cache for linkDebugExecutableNative, linkDebugTestNative, linkReleaseExecutableNative tasks
  • KT-43516 Failed to resolve Kotin library [Multiple Multiplatform modules]
Tools. Incremental Compile
  • KT-42937 another compilation fail (problem with compilation caches?)
Tools. JPS
  • KT-39536 JPS compilation fails with IOException "storage is already closed"
Tools. Parcelize
  • KT-41553 JVM IR, Parcelize: IrStarProjectionImpl cannot be cast to class IrTypeProjection
Tools. Scripts
  • KT-43534 Allow running "main.kts" script that does not end in a "main.kts" filename (would allow kotlin scripting on GitHub Actions)
  • KT-43176 NoSuchMethodError: 'int Script.access$getAValue$p(Script) for not-inlined functions
  • KT-43294 Support -no-stdlib option for the kotlin runner
Tools. kapt
  • KT-34340 Incremental annotation processor recompile all files (only if KAPT enabled).
  • KT-36667 Kapt: Add a flag to strip kotlin.Metadata() annotations from stubs
  • KT-40493 KAPT does not support aggregating annotations processors in incremental mode
  • KT-40882 Kapt stub generation is non-deterministic for incremental compilation
  • KT-41788 NullPointerException: Random crashes of build using gradle and kapt because of not calling Processor.init()
  • KT-42182 KAPT: Does not consider generated sources for incremental compilation.
Checksums
File Sha256
kotlin-compiler-1.4.30.zip 7b0aae9dca5ea899ef05dedc0a6fdd6e359451e56ff0dd3354443b3208b31800
kotlin-native-linux-1.4.30.tar.gz 51c12099acf2e2131f063659c59d5f78daaba5c9bc39cc92289d962359e8ccce
kotlin-native-macos-1.4.30.tar.gz 892afbf069483b355933885c931367aaaaa32dfe26d84bbfd8636f90f0c7b556
kotlin-native-windows-1.4.30.zip 6c56581902e094c0b1b292abb854d314d5cee650528f23015f8390301fa84ae2

v1.4.21-2: Kotlin 1.4.21-2

This release contains the fix for the kotlinx.serialization plugin working together with Jetpack Compose plugin.

Please use the 1.4.21 version for your usual production work and use this version only if you want to experiment on kotlinx.serialization and Jetpack Compose together.

v1.4.21: Kotlin 1.4.21

CHANGELOG
IDE. Gradle Integration
  • KT-42561 "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module
  • KT-43511 Task 'MainKt.main()' not found in root project
Libraries
  • KT-43586 Source documentation: ExperimentalPathAPI misspelt
  • KT-43745 replace for strings ignores case of locale characters
Native. C and ObjC Import
  • KT-43265 Kotlin/Native fails to generate alias for C enum entry
  • KT-43530 Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.|-8255337774232345969[0] is unbound"
Native
  • KT-43517 On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework
Tools. Gradle. JS
  • KT-43668 PackageJson task use file dependencies as is (files and directories), but only files necessary
Checksums
File Sha256
kotlin-compiler-1.4.21.zip 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7
kotlin-native-prebuilt-linux-1.4.21.tar.gz ae54afed3e3f65a2e3170b203679e86c78979c0c53dd0d7d7a38cf4fa8d46ca7
kotlin-native-prebuilt-macos-1.4.21.tar.gz f3a65ea070cbfca89497a14340f1530d1ec37875efc8be9a972b6a7aefde29c0
kotlin-native-prebuilt-windows-1.4.21.zip 5359f53b01bdc5bd4fd956630e33a0ba36ea0471a8e86fe5405266d899694223

v1.4.20: Kotlin 1.4.20

CHANGELOG
Android
  • KT-42121 Deprecate Kotlin Android Extensions compiler plugin
  • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
  • KT-42406 Long or infinite code analysis on simple files modification
Backend. Native
  • KT-27534 Bridges to Nothing-returning methods have incorrect signature
  • KT-30284 Native: Nothing? type for expression override and crash
  • KT-36430 Optimize when with in range cases
  • KT-38787 Missing optimization for "in range" check
  • KT-39100 Make Native behaviour of property initialization consistent with JVM
  • KT-39798 Override equals/hashCode in functional interface wrappers on Native
  • KT-39800 equals/hashCode on adapted function references on Native
  • KT-41394 Compilation failed: Backend Internal error: Exception during IR lowering
  • KT-41907 Framework test segfaults on GC on watchos_x86 compiled with -opt
Compiler
New Features
  • KT-21147 JEP 280: Indify String Concatenation (StringConcatFactory)
  • KT-34178 Scripts should be able to access imports objects
  • KT-35549 Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects)
  • KT-31567 Support special semantics for underscore-named catch block parameters
Performance Improvements
  • KT-20571 Coroutines: Reduce number of local variables stored at suspension point
  • KT-28016 Coroutine state-machines spill/unspill shall be optimized using data-flow analysis
  • KT-33394 UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix
  • KT-36814 Support optimized delegated properties in JVM_IR
  • KT-36829 Optimize 'in' expressions (operator fun contains) in JVM_IR
  • KT-41741 NI: "AssertionError: Empty intersection for types" with generic Java collection
  • KT-42195 NI: prohibitively long compilation time for values of nested data structures with type inference
  • KT-42221 Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10
Fixes
  • KT-11713 Refine visibility check for synthetic property with protected setter
  • KT-16222 Coroutine should be clearing any internal state as soon as possible to avoid memory leaks
  • KT-25519 Extra inline marks inside suspending function callable reference bytecode
  • KT-33226 Object INSTANCE field not annotated with NotNull in generated bytecode
  • KT-35495 FIR: forbid non-Java synthetic properties
  • KT-35651 Kotlin stdlib has greater resolution priority than jars added via @​file:DependsOn annotation
  • KT-35716 Using @​JvmOverloads in @​JvmStatic functions in interface companion objects causes a ClassFormatError
  • KT-35730 FIR: consider creating fake overrides for objects
  • KT-36951 IllegalStateException: Expected some types: Throwing exception when there is a type parameter upper bound for itself
  • KT-37321 [FIR] Support java array in type argument
  • KT-37431 [FIR] Support Builder Inference
  • KT-38272 FIR2IR: use lazy IR symbols for externals & fake overrides
  • KT-38333 FIR: CCE on red code with assignment used as expression
  • KT-38334 FIR: CCE when resolving try-as-expression
  • KT-38336 FIR: NPE with corrupted numeric constant literal
  • KT-38397 FIR: Exception while resolving contract definition
  • KT-38444 [FIR] Invoke extension lambda with safe call
  • KT-38470 FIR: ConeDefinitelyNotNullType in signature
  • KT-38471 FIR: ConeIntersectionType in signature
  • KT-38925 Internal error: wrong bytecode generated. (AssertionError: int type expected, but null was found in basic frames)
  • KT-38989 FIR: Refine sealed classes exhaustiveness in case of sealed subclass
  • KT-38992 FIR: Refine type resolution for inner classes
  • KT-39000 FIR: Support smartcast after reference equality check
  • KT-39005 FIR: Resolve plusAssign in a dependent context
  • KT-39008 FIR: Investigate strange effect of type alias and not-nullable bound on inference
  • KT-39012 FIR: Inference doesn't get through elvis to lambda parameter
  • KT-39028 FIR: Strange resolution to synthetic property with implicit extension receiver while there's an explicit receiver
  • KT-39032 FIR: Ambiguity in member scope of a type parameter with multiple bounds
  • KT-39033 FIR: Ambiguity when calling generic overridden property
  • KT-39034 FIR: Support nested extension function types
  • KT-39040 FIR: Deserialize annotations from compiled Kotlin binaries
  • KT-39043 FIR: Bare types incorrectly work with type aliases
  • KT-39044 FIR: Add fillInStackTrace to member scope of kotlin.Throwable
  • KT-39046 FIR: Implicit types in lambdas left when call argument is a type cast
  • KT-39048 FIR: Inference fails with integer literal used as Comparable
  • KT-39050 FIR: Type resolver doesn't see nested classes from super class of a local class
  • KT-39070 FIR: Ambiguity on super calls to hashCode/equals when having super interface and class
  • KT-39072 FIR: Subtyping check doesn't affect nullability of safe-call receiver
  • KT-39076 FIR: Synthetic property is not a var because of @​Nullable annotation on parameter
  • KT-39080 FIR: Smart casts remain incorrect if lambda is present in when branch
  • KT-39374 Wrong bytecode generated for suspend function call with EXACTLY_ONCE lambda capturing a variable initialized in when-subject
  • KT-39621 [FIR] Support when exhaustiveness checker for java enums
  • KT-40135 JVM IR does not generate restricted suspend lambdas
  • KT-40382 Missing proper jvmSignature for synthesized equals/hashCode/toString in inline classes
  • KT-40605 JVM IR: IndexOutOfBoundsException caused by inner class passed to generic outer class method with Nothing type argument
  • KT-40664 JVM: No bounds check in optimization of ULong in UInt..UInt
  • KT-40665 JVM: No resolved function check when optimizing in/contains with mismatched bound types
  • KT-41014 FIR2IR: when/where/how to determine the presence of a backing field for a property
  • KT-41018 FIR2IR: sort members during de/serialization
  • KT-41144 False positive "Redundant spread operator" in when statement and generic vararg argument
  • KT-41218 HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDE
  • KT-41374 JVM / IR: NoSuchMethodError in Android project compiler caused by combination of inline classes and coroutines
  • KT-41388 NI: Backend Internal error: Exception during IR lowering
  • KT-41429 Inline class returned from suspend function should be boxed on resume path
  • KT-41465 JVM / IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL CLASS name" caused by inline method call into multiple constructors
  • KT-41484 JVM IR: support -Xemit-jvm-type-annotations
  • KT-41668 JVM IR: incorrect enclosing constructor for lambdas in initializers of inner classes
  • KT-41669 JVM IR: incorrect hashCode intrinsic is used in JVM target 1.8 for generic type substituted with primitive
  • KT-41693 NI: Type inference in nested expression incorrectly assumes non-nullable return type of Java function, causing NullPointerException
  • KT-41729 NI: UnsupportedOperationException with invalid callable reference
  • KT-41761 JVM IR: CCE from backend on generating typeOf for non-reified type parameter with star projection in upper bound
  • KT-41789 Missing DebugMetadata in inlined suspend lambda
  • KT-41913 NI: Kotlin 1.4 type inference breaks valid code
  • KT-41934 NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one
  • KT-42005 JVM / IR: "NullPointerException: Parameter specified as non-null is null" when toString is called on inline class with not primitive property
  • KT-42450 NI: "IllegalStateException: Error type encountered: NonFixed:" with coroutines
  • KT-42523 Missed DefaultImpls for interface in -jvm-default=all mode on inheriting it from interface compiled in old scheme
  • KT-42524 Wrong specialization diagnostic is reported on inheriting from java interface with default with -Xjvm-default=all-compatibility
  • KT-42546 HMPP: incorrect subtyping of nullable types & overload resolution ambiguity on using and expect-function declaration with nullable expect in a signature
  • KT-17691 Wrong argument order in resolved call with varargs
  • KT-25114 Prohibit @​JvmStatic on functions in private companions
  • KT-33917 Prohibit to expose anonymous types from private inline functions
  • KT-35870 Forbid secondary enum class constructors which do not delegate to the primary constructor
  • KT-39098 NI: parameter of anonymous function can be inferred to Any? if another parameter's type is specified
  • KT-41176 NI with Gson: "ClassCastException: java.util.ArrayList cannot be cast to java.lang.Void"
  • KT-41194 ClassCastException on returning Result.failure from lambda within suspend function
  • KT-42438 NI: ClassCastException: cannot be cast to java.lang.Void caused by when statement in run function
  • KT-42699 False positive NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT diagnostic in new jvm-default modes
  • KT-42706 Kotlin 1.4 infers generic is Nothing instead of actual Foo class (Android project)
Docs & Examples
  • KT-42318 No documentation for kotlin.js.js
IDE
New Features
  • KT-20775 More kotlin kinds in new kotlin file/class menu
  • KT-31331 Improve: Optimize Import should remove unused unresolved imports
  • KT-31500 Smart enter: support get() clause
  • KT-39231 Injection: Add receiver of kotlin.text.toPattern to standard Kotlin injections
  • KT-39844 Add specific highlight for Enum class
Performance Improvements
  • KT-39353 Implement EnterBetweenBracesNoCommitDelegate
  • KT-39720 A lot of freezes in Kotlin project
  • KT-41634 Deadlock in org.jetbrains.kotlin.idea.framework.LibraryEffectiveKindProviderImpl.getEffectiveKind
  • KT-41936 Impossible to work with Kotlin 1.4 in 202 idea, idea eats all cpu
Fixes
  • KT-10790 "Move statement up" for @​file-targeted annotation moves package declaration to bottom of file
  • KT-15262 "Generate toString()" is ignoring property if it has a getter
  • KT-24352 Method separators: displayed between properties, not displayed between companion object and function
  • KT-29364 "Extend selection" can't select lambda body with parameters
  • KT-32403 Clickable links in annotation parameters (like in TODOs)
  • KT-32409 Organizing imports should not remove imports while there are unresolved symbols
  • KT-34566 Too small indent after line break for multi line strings
  • KT-34587 "Move statement down" doesn't work for statement in constructor with end-of-line comment
  • KT-34705 "Move statement down" for penultimate statement with end-of-line comment in constructor leads to moving comma to the end of comment
  • KT-34707 "Move statement up" for last statement with end-of-line comment in constructor leads to moving comma to the end of comment
  • KT-35424 FIR IDE: Kotlin project does not see stdlib
  • KT-35732 URLs in String literals are not clickable
  • KT-35859 Language injection doesn't work with named arguments in different position
  • KT-37210 UAST: KtLightClassForSourceDeclaration.isInheritor sometimes returns the wrong result
  • KT-37219 File level OptIn annotation is not recognized by the IDE
  • KT-38959 IDE: False negative EXPLICIT_DELEGATION_CALL_REQUIRED, "IllegalArgumentException: Range must be inside element being annotated"
  • KT-39398 Wrong import of unrelated object member is suggested for receiver
  • KT-39457 Separate decompiled declarations Light implementation from LightClasses infrastructure
  • KT-39899 KotlinOptimizeImportsRefactoringHelper: ISE: Attempt to modify PSI for non-committed Document
  • KT-40578 UAST: write accesses to Kotlin properties should resolve to setter
  • KT-41290 KotlinClassViaConstructorUSimpleReferenceExpression resolves to PsiMethod instead of PsiClass
  • KT-42029 HMPP, IDE: NPE from FacetSerializationKt.getFacetPlatformByConfigurationElement on project opening
  • KT-43202 On 1.4.20-RC version AS ask for xml compatibility update for EAP version of plugin
  • KT-42883 No highlighting for elements marked as @​Deprecated in stdlib
IDE. Android
  • KT-42406 Long or infinite code analysis on simple files modification
  • KT-42061 Highlighting is broken in Android activity
  • KT-41930 Android Studio 4.2 cannot start after updating to 1.4.20 plugin with error: Missing essential plugin: org.jetbrains.android
IDE. Completion
  • KT-26235 Kotlin methods/fields don't have icons in Java completion
IDE. Debugger
  • KT-37486 Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabled
  • KT-38659 Evaluate Expression: toString() on variable returns error when breakpoint is in commonTest sourceset
  • KT-39309 Debugger: Prolonged "Collecting data" for variables when breakpoint is inside respondHtml
  • KT-39435 "Collecting data..." in debugger variables view never finishes
  • KT-39717 Debugger shows "Collecting data..." forever for instances of some class
  • KT-40386 Memory leak detected: 'org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView'
  • KT-40635 Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc* versions as well
  • KT-41505 Coroutines Debugger: “Access is allowed from event dispatch thread with IW lock only.”
IDE. Decompiler, Indexing, Stubs
  • KT-28732 Stub file element types should be registered early enough
  • KT-41346 IDE: "AssertionError: Stub type mismatch: USER_TYPE!=REFERENCE_EXPRESSION" with CollapsedDumpParser class from IDEA SDK
  • KT-41859 File analysis never ending with kotlinx.cli (AssertionError: Stub type mismatch: TYPEALIAS!=CLASS)
  • KT-41640 "Project roots have changed" happened during indexing because of org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged increases overall indexing time.
  • KT-41646 "AssertionError: ContentElementType: FILE"; Code analysis never finishes on some files from my project
IDE. Gradle Integration
  • KT-34271 Support pureKotlinSourceFolders for MPP projects
  • KT-37106 Gradle + IDE integration: on creating source roots from Project tree IDEA creates incorrect settings
  • KT-38830 addTransitiveDependenciesOnImplementedModules performance is slowing down Android Studio Gradle Sync
  • KT-41703 Kotlin plugin not functional: PluginException: While loading class org.jetbrains.kotlin.idea.core.script.KotlinScriptDependenciesClassFinder
IDE. Gradle. Script
  • KT-35092 “Unable to get Gradle home directory” popup and no build.gradle.kts highlighting right after creating a new project
  • KT-37590 Wrong notification for precompiled build script
  • KT-39523 Go to Declaration navigates to decompiled classfile instead of sources in case of jumping to Gradle plugin sources in buildSrc
  • KT-39542 EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager)
  • KT-39790 List of standalone script should be saved between IDE restarts
  • KT-39910 build.gradle.kts isn't highlighted after import
  • KT-39916 init.gradle.kts isn't highlighted
  • KT-40243 gradle.kts: standalone script under build root isn't highlighted as standalone
  • KT-41141 Gradle Kotlin DSL: "cannot access 'java.lang.Comparable'. Check your module classpath" with empty JDK in Project structure
  • KT-41281 Multiple Script Definitions warning shown in git project having multiple Gradle projects
IDE. Hints
  • KT-32368 Rework Inline hints settings so that they look appropriate with the new UI in 2019.3
  • KT-38027 Support Code Vision feature in Kotlin
  • KT-42014 ClassNotFoundException in Android Studio 4.2 after installing 1.4.20 plugin
IDE. Hints. Parameter Info
  • KT-24172 Parameter info marks signature as inapplicable when using argument labels
  • KT-41617 Parameter Info shows nothing inside already present type arguments of supertype
  • KT-41645 Add support for mixed named arguments to parameter info popup
IDE. Inspections and Intentions
New Features
  • KT-14578 Suggest "Convert lambda to reference" intention for generic extension function
  • KT-19321 Warn if method with nullable return type always returns non-null
  • KT-20718 Add a quick fix for "this class has no constructor" error on 'expect' annotation classes
  • KT-21223 Add inspection for incomplete destructuring
  • KT-22420 Intention to replace a = b with b.also { a = it }
  • KT-39930 Add inspection for nullable Boolean in if condition
  • KT-40016 Replace 'a.toLowerCase() == b.toLowerCase()' with 'a.equals(b, ignoreCase = true)' inspection
  • KT-40283 Inspection which replaces also/apply with nested forEach to onEach
  • KT-40769 Add intention to replace isBlank/isNotBlank method negation
Fixes
  • KT-12222 Intention 'Convert to block body' should take nullability of overriden method into account when expression is of platform type
  • KT-14395 Lambda to Reference doesn't work for generic types
  • KT-15846 'Change lambda expression return type' quick fix does nothing
  • KT-15944 IDEA doesn't suggest to replace deprecated get set operator functions when it used as operator
  • KT-17222 "Convert reference to lambda" creates red code for method with default argument values
  • KT-18125 "Wrap with let {...}" intention not available in all cases
  • KT-20438 Naming convention inspections: factory functions that are named like classes are flagged
  • KT-24138 Incorrect behavior in "convert reference to lambda" with new inference enabled, on function reference with default arguments
  • KT-29844 "Create class from usage" should mark constructor of created class as internal if its parameters have internal visibility
  • KT-30928 "Show hints for suspend calls" is too easy to enable and hard to disable
  • KT-31749 "Surround with null check" produces incorrect check for 'in' expression
  • KT-32963 Don't suggest java directory of a JVM source set in multiplatform project as a target for Create actual quick fix
  • KT-33211 Quickfix "add parameter" for method references should infer functional type instead of KFunction
  • KT-33258 "Merge 'if's" intention drops comment before nested if
  • KT-34572 Convert to block body action improperly works with suppress annotations
  • KT-35128 Intention Convert member to extension hides property delegate text with single line comment
  • KT-35214 Intention Put parameters on one line: don't suggest if parameters has end-of-line comments
  • KT-35320 False positive "Replace explicit parameter 'x' with 'it'" in 'when' expression which returns lambda
  • KT-35525 False positive intention for 'run': "Convert to 'let'" when invoked without receiver
  • KT-35526 Intention "Eliminate argument of 'when'" is broken for 'when' expression without 'else' branch
  • KT-35805 FoldInitializerAndIfToElvis: should not add new line for multiline initializer
  • KT-36051 IfThenToSafeAccessInspection: do not report if condition is SENSELESS_COMPARISON
  • KT-37748 "Convert anonymous function to lambda expression" intention does not add necessary lambda type parameter
  • KT-37841 IllegalStateException after "add non-null asserted call" on nullable function reference
  • KT-38139 False negative "Add suspend modifier" quickfix when suspend function is called in inline lambda
  • KT-38267 False positive "Call on collection type may be reduced" with Java platform types: suggested to reduce 'mapNotNull' call to 'map'
  • KT-38282 False positive "Remove redundant spread operator" inspection with array as class property or fun argument
  • KT-38915 "Remove explicit type specification" intention should be disabled in explicit API mode
  • KT-38981 "Specify return type explicitly" inspection is not reported for declaration annotated with @​PublishedApi in Explicit Api mode
  • KT-39026 'Specify return type explicitly' intention duplicates compiler warning in Explicit api mode
  • KT-39200 False positive "Redundant qualifier name" with same-named member object and companion property
  • KT-39263 False positive "Variable should be inlined" for override value in initialized object
  • KT-39311 Batch quick fix name for "Change file's package" is truncated
  • KT-39393 "Convert anonymous function to lambda expression" intention does not add necessary lambda type parameter for outer function
  • KT-39454 False positive "Unused symbol" with private anonymous object property
  • KT-39467 False negative "Move variable declaration into when" if a variable declaration is placed on a new line
  • KT-39490 'Wrap with ?.let' quickfix put the receiver in let lambda
  • KT-39552 Merge 'if's intention drops comment after nested if
  • KT-39604 "Package directive doesn't match file location" quick fix does not insert a space between keyword package and the package name
  • KT-39772 "Redundant 'Unit'" should support lambdas
  • KT-40215 "Create abstract function" quick fix suggested even though surrounding class is non-abstract
  • KT-40448 "Convert call chain into sequence": support functions added in Kotlin 1.4
  • KT-40558 False positive "Move to class body" intention on data class constructor property
  • KT-41338 False positive "Redundant 'asSequence' call" when Map.Entry properties are used.
  • KT-41615 "Unused equals expression" inspection: highlight whole expression with yellow background
  • KT-43037 Disable "Incomplete destructuring declaration" in 1.4.20
IDE. J2K
  • KT-20421 J2K: SUPERTYPE_NOT_INITIALIZED for object extending base class
  • KT-37298 J2K: implicit widening conversion for whole argument expression is transformed to cast on subexpression
  • KT-38879 J2K loses class annotations when converting class to object
  • KT-39149 J2K fails with augmented assignment operators when multiplying int by a non-int
  • KT-40359 J2K: Conversion of invalid octal numbers throws NumberFormatException
  • KT-40363 J2K: Converting HEX integer literal in for-loop throws NumberFormatException
IDE. JS
  • KT-39319 KJS: Support debugging through new Intellij 202 API
  • KT-41328 KJS / Gradle: explicitApi mode doesn't work
IDE. KDoc
  • KT-17926 IDE should show documentation for a class if the constructor has no docs.
  • KT-19069 KDoc: show default argument values
  • KT-37132 Redundant @​NotNull annotation in a Quick Documentation pop-up
IDE. Misc
  • KT-39327 Get rid of usages of internal classes ModuleOrderEntryImpl and LibraryImpl
  • KT-40455 Improve support for EditorConfig
IDE. Navigation
  • KT-24616 Find usages fails to find setter usage
  • KT-38762 "Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Int'" brokes navigation to constructor parameter declaration
  • KT-39558 Call Hierarchy shows references from KDoc
  • KT-40788 "Find usages" on Java getter overridden in Kotlin doesn't find synthetic property usage when it is called without base declaration
  • KT-40960 Unable to find usages in java of Kotlin constructor in library when sources is attached.
IDE. Project View
  • KT-37528 'Add Kotlin File/Class' suggests file before class
IDE. Refactorings
  • KT-19744 "Change Signature" is not available on constructor keyword in primary constructor
  • KT-22170 "Change Signature" ignores Java usages of methods marked with @​JvmStatic
  • KT-37517 Invalid qualified name on copy-paste in build.gradle.kts
IDE. Run Configurations
  • KT-24463 MPP, Intellij runner: Run does not add resource directory to classpath
  • KT-36370 Hide run gutter icons for not yet implemented targets in multiplatform projects
  • KT-39788 MPP, Gradle runner: Run does not add resource directory to classpath on project reopen without Gradle sync
IDE. Scratch
  • KT-40557 IDE / Scratch: .kt files are treated as Kotlin scratches, opening fails
IDE. Script
  • KT-35825 Custom kotlin scripts have no project import suggestions in sub modules.
  • KT-39796 Performance of KotlinScriptDependenciesClassFinder
  • KT-41622 IDE: Kotlin scripting support can't find context class from same project
  • KT-41905 IDE / Script: FilePathPattern parameter in @​KotlinScript annotation is not reflected correctly in Pattern / Extension
  • KT-42206 Cannot load script definitions using org.jetbrains.kotlin.jsr223.ScriptDefinitionForExtensionAndIdeConsoleRootsSource
IDE. Tests Support
  • KT-28854 Run/Debug configurations: "Redirect input from" option is not available for Kotlin apps
  • KT-36909 IDE attempts to run non-JVM tests launched from context menu as JVM ones
  • KT-37799 Don't show a target choice in context menu for a test launched on specific platform
IDE. Wizards
  • KT-37965 New Project wizard 1.4+: adding JUnit5 test library add dependency to runner
  • KT-40527 Node.JS application template in New Project Wizard
  • KT-40874 Open new project wizard help page in browser when clicking help button in new project wizard
  • KT-41417 Add react template to new project wizard
  • KT-41418 Wizard: Support KJS compiler choice
  • KT-41958 New project wizard: Backend/Console applications template with Groovy DSL missing compileTestKotlin block
  • KT-42372 Rrename test classes in wizard template to avoid name clashing
JavaScript
  • KT-38136 JS IR BE: add an ability to generate separate js files for each module and maybe each library
  • KT-38868 [MPP / JS / IR] IllegalStateException: "Serializable class must have single primary constructor" for expect class without primary constructor with @​Serializable annotation
  • KT-39088 [ KJS / IR ] IllegalStateException: Concrete fake override IrBasedFunctionHandle
  • KT-39367 KJS: .d.ts generation not working for objects
  • KT-39378 KJS / IR: "IllegalStateException: Operation is unsupported" with binaries.executable() and external function inside for loop with Iterator as return type
  • KT-41275 KJS / IR: "IllegalStateException: Can't find name for declaration FUN" caused by default value in constructor parameter
  • KT-41627 KJS / IR / Serialization: IllegalStateException: Serializable class must have single primary constructor
  • KT-37829 Kotlin JS IR: "Properties without fields are not supported" for companion objects
  • KT-39740 KJS / IR: Can't use Serializable and JsExport annotations at the same time
KMM Plugin
  • KT-41522 KMM: exceptions for Mobile Multiplatform plugin are suggested to report to Google, not JetBrains
  • KT-42065 [KMM plugin] iOS apps fail to launch on iOS simulator with Xcode 12
Libraries
Middle-end. IR
  • KT-40193 IR: pluginContext.referenceClass() is not resolving typealias
  • KT-41181 Kotlin/Native 1.4.0 compiler fails on data class with >120 fields
Native. C and ObjC Import
  • KT-41250 [C-interop] Stubs for C functions without parameter names should have non-stable names
  • KT-41639 Use LazyIR for enums and structs from cached libraries
  • KT-41655 Native: "type cnames.structs.S of return value is not supported here: doesn't correspond to any C type" when accessing forward-declared-struct-typed C global variable
Native. ObjC Export
  • KT-38641 Kotlin-Multiplatform: Objective-C description method name collision in Swift
  • KT-39206 New line characters in @​Deprecated annotation cause syntax error in Kotlin/native exported header
Native. Platform libraries
Native. Runtime. Memory
  • KT-42275 "Memory.cpp:1605: runtime assert: Recursive GC is disallowed" sometimes when using Kotlin from Swift deinit
Native. Stdlib
Tools. Android Extensions
  • KT-42342 Build fails with java.lang.RuntimeException: Duplicate class found in modules on checkDebug(Release)DuplicateClasses task when both kotlin-parcelize and kotlin-android-extensions plugins are applied
Tools. CLI
  • KT-35111 Extend CLI compilers help with link to online docs
  • KT-41916 Add JVM target bytecode version 15
Tools. Commonizer
  • KT-41220 [Commonizer] Short-circuit type aliases
  • KT-41247 [Commonizer] Missed supertypes in commonized class
  • KT-41643 Commonizer exception for targets [ios_x64], [macos_x64]
  • KT-42574 HMPP: unresolved platform.* imports in nativeMain source set
Tools. Compiler Plugins
  • KT-36329 Provide diagnostic in kotlinx.serialization when custom serializer mismatches property type
  • KT-40030 Move the Parcelize functionality out of the Android Extensions plugin
Tools. Gradle
  • KT-33908 Make Kotlin Gradle plugin compatible with the Gradle configuration cache
  • KT-35341 KotlinCompile: Symlinked friend paths are no longer supported
Tools. Gradle. JS
New Features
  • KT-35330 Allow to customise generated package.json
  • KT-39825 Provide single point of Webpack configuration in Gradle script
  • KT-41054 Support Yarn resolutions
  • KT-41340 Add flag to suppress kotlin2js deprecation message
  • KT-41566 Kotlin/JS: Support JavaScript Library distribution
  • KT-42222 KJS / Gradle: "Cannot find package@version in yarn.lock" when npm dependencies of one package but with different version are used in project
  • KT-42339 Support dukat binaries generation
Fixes
  • KT-39515 package.json is regenerated without a visible reason
  • KT-39838 Kotlin/JS Gradle tooling: NPM dependencies of different kinds with different versions of the same package fail with "Cannot find package@version in yarn.lock"
  • KT-39995 Collect statistic about generateExternals feature
  • KT-40087 Kotlin/JS, IR backend: browserRun: update in continuous mode fails: "ENOENT: no such file or directory" referring output .js
  • KT-40159 Implement workaround / fix for webpack's "window is not defined"
  • KT-40178 Browser run task prints output in TeamCity format
  • KT-40201 Kotlin/JS: Gradle: public package.json has empty devDependencies {}
  • KT-40202 Kotlin/JS: Gradle: NPM version range operators are written into package.json as escape sequences
  • KT-40342 [Gradle, JS, Maven] "Cannot find module" generating fake NPM module from Maven dependendency
  • KT-40462 Collect statistic about usages of kotlin.js.generate.executable.default option
  • KT-40753 Type script definition file is not referenced as types in the package.json
  • KT-40812 Node.JS run working directory
  • KT-40865 KJS / Gradle: Registering a task with a type that directly extends AbstractTask has been deprecated
  • KT-40986 KJS / Gradle: BuildOperationQueueFailure when two different versions of js library are used as dependencies
  • KT-41125 Bump NPM versions in 1.4.20
  • KT-41286 KJS / Gradle: args order in runTask is changed in 1.4.0
  • KT-41475 KJS / Gradle: debug mode doesn't support custom launchers in karma config
  • KT-41662 Kotlin/JS: with CSS support mode == "extract" browser test fails even without CSS usage: "Error in config file!"
  • KT-42494 KJS / Gradle: "Configuration cache state could not be cached" caused by Gradle configuration cache
Tools. Gradle. Native
  • KT-39764 Assertions are disabled when running K/N compiler in Gradle process
  • KT-39999 Cocoapods plugin's dummy header cannot be compiled
  • KT-40999 CocoaPods Gradle plugin: Support custom cinterop options when declaring a pod dependency.
  • KT-41367 CocoaPods Gradle plugin: support git repository dependency
  • KT-41844 Kotlin 1.4.10 gradle configuration error with cocoapods using multiple multiplatform modules
  • KT-42531 Gradle task "podGenIos" fails if a Pod with a static library is added.
Tools. Incremental Compile
  • KT-37446 Incremental analysis for Java sources fails when run on JDK 11
Tools. Parcelize
  • KT-39981 Android parcel 'java.lang.VerifyError: Bad return type'
  • KT-42267 Platform declaration clash error in IDE when using kotlinx.android.parcel.Parcelize
  • KT-42958 False positive IDE error on classes with kotlinx.parcelize.Parcelize on project initial import
  • KT-43290 Typo in error message for ErrorsParcelize.DEPRECATED_ANNOTATION - kotlin.parcelize instead of kotlinx.parcelize
  • KT-43291 Diagnostic deprecation messages should not be shown in case kotlin-android-extensions plugin is applied
Tools. Scripts
  • KT-37987 Kotlin script: hyphen arguments not forwarded to script
  • KT-38404 Scripting API: Provide Location of Annotation Usage
  • KT-39502 Scripting: reverse order of Severity enum so that ERROR > INFO
  • KT-42335 No "caused by" info about an exception that thrown in Kotlin Script
Tools. kapt
  • KT-25960 Interfaces annotated with JvmDefault has wrong modifiers during annotation processing
  • KT-37732 Kapt task is broken after update to 1.3.70/1.3.71
  • KT-42915 Kapt generates invalid stubs for static methods in interfaces in Kotlin 1.4.20-M2
Checksums
File Sha256
kotlin-compiler-1.4.20.zip 11db93a4d6789e3406c7f60b9f267eba26d6483dcd771eff9f85bb7e9837011f
kotlin-native-prebuilt-linux-1.4.20.tar.gz b65cc8b1510b21f23587c5457a74dc9e7cd4a6294fa38c00d688837f8d52d554
kotlin-native-prebuilt-macos-1.4.20.tar.gz 9040ab932f01696b91608a6fd46f78b2f5f399d3a1132a344af6d83c7570f1a9
kotlin-native-prebuilt-windows-1.4.20.zip 80c26b36b358a1a2fdba184a354a758b00b6f27e719dc2086cf5d287f92f12a3

v1.4.10: Kotlin 1.4.10

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog
Compiler
Performance Improvements
  • KT-41149 NI: Upgraded project from 1.3.72 to 1.4.0 hangs during build
  • KT-41335 Kotlin Out of Memory When evaluating expression
  • KT-41400 NI: Huge performance regression for kotlin compiler from 1.3.72 to 1.4.0 due to using list of dozen lambdas in a call
Fixes
  • KT-41005 Coercion to Unit doesn't take into account nullability of a return type for lambda
  • KT-41043 NI: StackOverflowError through PostponedArgumentInputTypesResolver.getAllDeeplyRelatedTypeVariables
  • KT-41135 Type Inference Regression For Property Delegate With Receiver Type
  • KT-41140 Unresolved reference to parameter of a catch block from lambda expression on 1.4.0
  • KT-41150 IllegalStateException: Couldn't obtain compiled function body for public final inline fun
  • KT-41164 NI: "IllegalStateException: Error type encountered" with callbackFlow builder inside condition
  • KT-41202 Type inference fails in 1.4.0
  • KT-41218 HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDE
  • KT-41308 1.4.0 Type inference regression in suspend blocks with elvis operator expressions
  • KT-41357 ClassCastException for unstable smart cast on a property call receiver
  • KT-41386 NI: Type mismatch with generic type parameters
  • KT-41426 Operator compareTo is not called with nullable type
  • KT-41430 Broken choosing overload by lambda return type inside builder inference
  • KT-41470 Wrong nullability assertion is generated when using the BuilderInference annotation
  • KT-41482 Add a fallback compiler flag to disable the unified null checks behavior
IDE
  • KT-41325 SOE in IDEKotlinAsJavaSupport
  • KT-41390 Typo: equals & hashCode are written with the first uppercase letter
IDE. Code Style, Formatting
  • KT-41314 Formatter: Frequent freezes when reformatting code (TrailingCommaPostFormatProcessor)
IDE. Debugger
  • KT-40417 Coroutines Debugger: “No coroutine information found” in case of main() entry-point without explicit debug-artifact
IDE. Gradle. Script
  • KT-39542 EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager)
  • KT-41283 Gradle scripts unable to support 1.4 language level features yet
IDE. Inspections and Intentions
  • KT-41264 Disable “Redundant inner modifier” in 1.4.10
  • KT-41395 Inspection description misses a space (needs to be lowercase)
IDE. REPL
  • KT-40898 REPL: "IllegalAccessError: tried to access field" caused by log4j
IDE. Wizards
  • KT-38921 New project wizard: Backend/Console applications template with Groovy DSL generates build.gradle with KotlinCompile instead of compileKotlin
JavaScript
  • KT-38059 Support arrays passed as named arguments to varargs
  • KT-40964 KJS / IR: don't generate "import" (short names) for external interfaces
  • KT-41081 KJS IR: nativeGetter, nativeSetter, nativeInvoke are not supported
Libraries
  • KT-41320 Actual kotlin.test annotation typealiases are inaccessible in modular environment
Middle-end. IR
  • KT-41324 IR: "Compilation failed: null" caused by StackOverflowError in compiler in multi-module project
Native. C and ObjC Import
  • KT-39762 cinterop on 1.4-M2 doesn't include @​Deprecated Kotlin declaration for C declaration it fails to import
Native. ObjC Export
  • KT-39206 New line characters in @​Deprecated annotation cause syntax error in Kotlin/native exported header
  • KT-40976 "Unrecognized selector sent to instance" exception invoking suspending lambda from Swift in Native iOS project
Reflection
  • KT-40842 "AssertionError: Built-in class kotlin.Any is not found" on java modular run
Tools. Compiler Plugins
  • KT-41321 Upgrading to 1.4.0 fails compiling native with is not bound error
Tools. Gradle. Multiplatform
  • KT-41083 Transitive dependency on an MPP with host-specific source sets fails to resolve: "Couldn't resolve metadata artifact..."
Tools. Gradle. Native
  • KT-40834 Cannot build Kotlin Multiplatform project on Windows 10 64-bit when the Cocoapods plugin is applied
Tools. Scripts
  • KT-35925 REPL: Springboot autoconfiguration problem (META-INF/spring.factories not found ?)
Tools. kapt
  • KT-41313 kapt 1.4.0 throws "ZipException: zip END header not found", when Graal SVM jar in classpath
Checksums
File Sha256
kotlin-compiler-1.4.10.zip bb1a21d70e521a01ae104e99a082a6e7bb58699b86347049da521d175d0dace7
kotlin-native-linux-1.4.10.tar.gz daedd047cfacb9cff064eae705c54d2ed61ef44b61c1ec944066603b8e9a373c
kotlin-native-macos-1.4.10.tar.gz e84f1622a6160a44e1f821d7539771a52389cdf3c9acaa94534b079a571503f3
kotlin-native-windows-1.4.10.zip 7728814be6f3f7906f9d55deff7ce15165c5a21f0f59ad412de815d1dab0ec1f

v1.4.0: Kotlin 1.4.0

Contents

The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

Changelog
1.4.0
Compiler
New Features
  • KT-23729 Provide a way to generate JVM default method bodies in interfaces delegating to DefaultImpls
  • KT-30330 Introduce KotlinNothingValueException and throw it instead of NPE on expressions of type Nothing
  • KT-38435 Support suspend conversion on callable references in JVM backend
Fixes
  • KT-35483 NI: compatibility mode
  • KT-39728 Declarations from kotlin.reflect resolved to expect-classes even in JVM modules in IDE
  • KT-40153 REPL IDE services completion fails on imports completion
  • KT-40404 Mixed named/positional arguments: argument can be passed twice
  • KT-40544 NI: "TYPE_MISMATCH: Required: MutableList<out T!> Found: List" caused by Java interface function
  • KT-40555 NI: Spread operator allows inferred nullable types
  • KT-40646 NI: TYPE_MISMATCH: "inferred type is Unit but Observer was expected" caused by LieData.observe inference
  • KT-40691 False positive CAPTURED_VAL_INITIALIZATION with EXACTLY_ONCE contract
  • KT-40693 UnsupportedOperationException: no descriptor for type constructor of (CapturedType(out TResult)..CapturedType(out TResult)?)
  • KT-40824 Usages of a typealias lose nullability and annotations in deserialization
  • KT-40843 Unhandled exception for suspending methods that return Result type
  • KT-40869 Recursion computation inside compiler resolve on a correct code
  • KT-40893 Error "Captured values initialization is forbidden due to possible reassignment" when attempting to use the plusAssign operator with a java list inside an inline function
  • KT-40919 kotlin.collections.ArrayDeque requires an explicit import when compiling with kotlinc 1.4-RC and -language-version 1.3
  • KT-40920 Regression in JvmDefault: incorrect access to missing DefaultImpls on default methods in Java interface overriding Kotlin interface
  • KT-40978 Prohibit using suspend functions as SAM in fun interfaces
Kotlin/Native
  • Objective-C/Swift interop:
    • Reworked exception handling (GH-3822, GH-3842)
    • Enabled support for Objective-C generics by default (GH-3778)
    • Support for Kotlin’s suspending functions (GH-3915)
    • Handle variadic block types in ObjC interop (KT-36766)
  • Added native-specific frontend checkers (implemented in the main Kotlin repository: GH-3293, GH-3091, GH-3172)
  • .dSYMs for release binaries on Apple platforms (GH-4085)
  • Improved compilation time of builds with interop libraries by reworking cinterop under the hood.
  • Experimental mimalloc allocator support (-Xallocator=mimalloc) to improve execution time performance. (GH-3704)
  • Tune GC to improve execution time performance
  • Various fixes to compiler caches and Gradle daemon usage
Docs & Examples
  • KT-35218 Fix misleading in JavaDoc for createTempDir/createTempFile
  • KT-36981 Provide a visual illustration of source sets structure generated by ios(), watchos(), tvos() presets
  • KT-38050 Language Guide: MPP reference: add sample of language settings for all roots instead of common root only
IDE
  • KT-30265 IDE, MPP: False negative TYPE_PARAMETER_AS_REIFIED in common code
  • KT-40494 UAST: "NoSuchElementException: No element of given type found" with use-site target annotation
  • KT-40639 Shift IDE plugins updater numbers for Kotlin plugin
IDE. Code Style, Formatting
  • KT-40636 Hard freeze on formatter: infinite recursion
IDE. Gradle Integration
  • KT-30116 IDE: Unresolved reference in MPP module (androidMain source set) for annotation from common module (defined in commonMain and with JVM target)
IDE. Gradle. Script
  • KT-34552 Deadlock in ScriptDefinitionsManager
  • KT-40675 Gradle build file is not highlighted until navigating to symbol
IDE. JS
  • KT-40461 Create new projects with kotlin.js.generate.executable.default=false
IDE. Script
  • KT-39547 Kotlin script support freezes IDEA
  • KT-40242 gradle.kts: Deadlock in ScriptClassRootsUpdater
IDE. Wizards
  • KT-36153 New Project Wizard: provide more referential info on project structure editor screen
  • KT-39904 New Project wizard 1.4: update Frontend Application to make it run with JS IR
  • KT-40149 Gradle project wizard: templates for Kotlin/JS are not properly formatted
JavaScript
  • KT-25859 JS: support function references to functions with vararg if expected type ends with repeated vararg element type
  • KT-40083 K/JS-IR: java.lang.IllegalStateException: has not acquired a symbol yet
  • KT-40892 KJS, IR: Unresolved references on importing classes from kotlinx-nodejs
Libraries
  • KT-39051 Libraries native artifacts are published without sources
Tools. Gradle
  • KT-27816 Provide a possibility to specify intermediate source sets between platform-agnostic and platform-specific test source sets
  • KT-37720 Replace ArtifactTransform with TransformAction
  • KT-40559 Adding the stdlib by default triggers warning in the Android Gradle Plugin
Tools. Gradle. JS
  • KT-40093 Incorrect updating version of Kotlin/JS dependencies in package.json
Tools. Gradle. Multiplatform
  • KT-27320 Provide a way to reuse same sources for similar Native target
  • KT-40058 NPE from mpp gradle plugin on kotlinx.benchmarks
Tools. Gradle. Native
  • KT-40801 Gradle CocoaPods integration: Cannot change a framework name
1.4-RC
Backend. Native
  • KT-40209 java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl@7648417
  • KT-40367 Kotlin/Native-Swift interop (iOS): Array member initialization failing in release builds
Compiler
Fixes
  • KT-31025 Type mismatch when callable reference is resolved with a functional expected type and SAM conversion
  • KT-37388 Consider relaxing rules about inferring Nothing inside special constructions (if, try, when)
  • KT-37717 NI: "IllegalStateException: Error type encountered" with @​BuilderInference
  • KT-38427 New inference in branched conditions (if, when) results in odd behavior with inconsistent compiler warnings and runtime errors
  • KT-38899 NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NPE
  • KT-39468 NI: overload resolution ambiguity between functions passing T and Foo<T> with a contravariant receiver
  • KT-39618 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer generic type on @​BuilderInference annotated lambda parameter with receiver type
  • KT-39633 NI: Incorrect type parameter instantiation based on contravariant type argument
  • KT-39691 NI: Missing SAM conversion for nullable lambda
  • KT-39860 Make Kotlin binaries publicly available (set KotlinCompilerVersion.IS_PRE_RELEASE = false)
  • KT-39900 NI: Incorrect type inference in a lambda returning Unit
  • KT-39925 New JVM default compilation mode doesn't check that JVM target is 1.8
  • KT-39943 Write information about all-compatibility mode in metadata
  • KT-39953 NI: ClassCastException "cannot be cast to java.lang.Void" with if-else in return statement in ANdroid project
  • KT-40045 NI: lambda’s receiver type isn't inferred properly
  • KT-40057 NI: provideDelegate org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: wrong bytecode generated for static initializer
  • KT-40060 NI: postponed variable from the builder inference flows to back-end and leads to throw an exception
  • KT-40112 Kotlin Gradle DSL: COMPATIBILITY_WARNING on kotlin.sourceSets block
  • KT-40113 Kotlin Gradle DSL: "Expression 'main' cannot be invoked as a function" for distributions.main DSL block
  • KT-40128 Introduce compiler key to disable compatibility resolution mechanism for new inference features
  • KT-40151 NI: postponed variable isn't substituted for top-level CR inside builder inference
  • KT-40214 AbstractMethodError in gradle subplugin which is used in Android app
  • KT-40234 Deprecation level "hidden" has no effect on callable reference argument
  • KT-40247 NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in try-catch
  • KT-40254 Rewrite at slice with two callable reference arguments
  • KT-40269 NI: "disabled Unit conversions" error has appeared on green code
  • KT-40337 NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in when block
  • KT-40406 Prohibit reflection on adapted callable references
IDE
  • KT-39968 Paths in KotlinJavaRuntime library aren't updated after you run IDE from a different directory
  • KT-39989 NullPointerException when opening Kotlin facets in Project Structure dialog in IDEA 192
  • KT-40311 Create change_notes for 1.4 in IDE plugin description
IDE. Debugger
  • KT-39808 (CoroutineDebugger) Doesn't start with kotlinx-coroutines-core >= 1.3.6
  • KT-40073 (CoroutineDebugger) Change minimum supported kotlinx.coroutines version to 1.3.8*
  • KT-40172 Restored frame variables isn't shown for suspended coroutines
  • KT-40635 Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc* versions as well
IDE. Gradle Integration
  • KT-38744 No dependency between Android test and commonTest source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
  • KT-39037 'None of the consumable configurations have attributes' in MPP IDE import with transitive project dependency on self
IDE. Gradle. Script
  • KT-31137 IntelliJ would get very slow when editing gradle buildSrc(using the kotlin dsl)
  • KT-36078 Gradle Kotlin script context is not reloaded when gradle/wrapper/gradle-wrapper.properties file is changed
  • KT-39317 ISE “Calling invokeAndWait from read-action leads to possible deadlock.” on importing simple Gradle-based project in nightly IJ
IDE. Inspections and Intentions
  • KT-28662 Inspection to flag usage of the wrong Transient annotation on Kotlin Serializable class
  • KT-34209 Switch default behaviour in 1.4 for insertion (to build script) via quick fix of the compiler option enabling inline classes
  • KT-36131 Suggest to add a missing module dependency on an unresolved reference in Kotlin code
  • KT-37462 Add "Add dependency to module" quickfix in multimodule Maven project
  • KT-39869 Add whole project migration usages of kotlin.browser.* & kotlin.dom.* to kotlinx.browser.* & kotlinx.dom.* respectively
IDE. Wizards
  • KT-40004 New Project wizard 1.4+: no https://dl.bintray.com/kotlin/kotlinx repository is added for kotlinx-html
  • KT-40037 New Project wizard: update Ktor version
  • KT-40092 Wizard: the templates panel on mac OS is too wide
  • KT-40232 New Wizard: Android Sdk path doesn't have backslash escaping on Windows
  • KT-40371 New Project Wizard: Frontend Application / Library results in broken run configuration
  • KT-40377 New Project Wizard: Frontend Application defines NPM dependencies that are unnecessary with Kotlin 1.4-RC+
  • KT-40378 New Project Wizard: Frontend Application, Disabling JavaScript test framework has no effect
  • KT-40407 Wizard: do not add stdlib by default for Gradle projects in wizard
JS. Tools
  • KT-39984 Update dukat version in toolchain near to release of 1.4-RC
JavaScript
  • KT-32186 Make sure K/JS Reflection API documentation is correct and fix it.
  • KT-37563 K/JS: stacktrace is not captured for exceptions without primary constructor inherited from Exception/Error
  • KT-37752 Generated typescript incorrect for constructors of derived classes
  • KT-37883 KJS: Generated TypeScript uses 'declare' rather than 'export'
  • KT-38771 JS: support non-reified type parameters in typeOf
  • KT-39873 Update Kotlin JavaScript wrappers due to NON_EXPORTABLE_TYPE diagnostic introduction
  • KT-40126 [JS / IR] NPE while compiling interfaces with invoke which is passed as a delegate
  • KT-40216 KJS / IR: AssertionError caused by an anonymous object in the dependency project
Libraries
  • KT-33069 StringBuilder common functions
  • KT-35972 Add contract to builder functions
  • KT-37101 Mark following api with DeprecatedSinceKotlin("1.4")
  • KT-38360 Make sure that JB libraries correctly define their npm deps and republish them (after KT-30619)
  • KT-38817 'capitalize' should convert digraphs to title case
  • KT-40168 Remove StringBuilder.capacity from common and JS parts
Middle-end. IR
  • KT-40520 Assert during fake-override generation
Tools. Commonizer
  • KT-40199 Commonizer loses nullability of abbreviated types
Tools. Compiler Plugins
  • KT-40036 Add diagnostic that shows is serialization plugin compatible with serialization-runtime
Tools. Gradle
  • KT-39755 [KJS / Gradle / Legacy mode] Directory with whitespace is not processed
  • KT-39809 Kotlin Gradle plugin: ServiceConfigurationError: org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin: Provider org.jetbrains.kotlin.gradle.internal.AndroidSubplugin not a subtype
  • KT-39977 Collect statistics of used -Xjvm-default options
  • KT-40300 Fail the build if in MPP plugin no targets configured
Tools. Gradle. JS
  • KT-38170 Investigate how to improve migration experience from pre 1.4.0 DSL to the new one
  • KT-39654 Default CSS settings in webpack has priority over user's settings
  • KT-39842 Kotlin/JS Gradle DSL: peerNpm dependency fails
  • KT-40048 [Gradle, JS] Deprecate kotlin-frontend plugin
  • KT-40067 [Gradle, JS] Public package.json for mixed JS/TS project
  • KT-40210 Fail the build when Kotlin/JS target is not (properly) configured
  • KT-40320 Gradle JS: make migration to the new Gradle DSL smoother
Tools. Gradle. Multiplatform
  • KT-32239 Custom configurations inside Kotlin JVM Gradle projects can't properly resolve multiplatform dependencies
  • KT-39897 [Commonizer] Fast-pass for library fragments absent for some targets
Tools. J2K
  • KT-39739 J2K: Access is allowed from event dispatch thread with IW lock only
Tools. kapt
  • KT-34604 KAPT: Flaky NPE through org.jetbrains.kotlin.kapt3.base.ProcessorLoader.doLoadProcessors
  • KT-36302 TypeTreeVisitor.visitMemberSelect IllegalStateException: node.sym must not be null on JDK 11
  • KT-39876 KAPT: Serialization of classpath structure is incorrect if there are dependencies between types in jar/dir
1.4-M3
Compiler
New Features
  • KT-23575 Deprecate with replacement and SinceKotlin
  • KT-38652 Do not generate optional annotations to class files on JVM
  • KT-38777 Hide Throwable.addSuppressed member and prefer extension instead
Performance Improvements
  • KT-38489 Compilation of kotlin html DSL increasingly slow
  • KT-28650 Type inference for argument type is very slow if several interfaces with a type parameter is used as an upper bound of a type parameter
Fixes
  • KT-15971 Incorrect bytecode generated when inheriting default arguments not from the first supertype
  • KT-25290 NI: "AssertionError: If original type is SAM type, then candidate should have same type constructor" on out projection of Java class
  • KT-28672 Contracts on calls with implicit receivers
  • KT-30279 Support non-reified type parameters in typeOf
  • KT-31908 NI: CCE on passing lambda to function which accepts vararg SAM interface
  • KT-32156 New inference issue with generics
  • KT-32229 New inference algorithm not taking into account the upper bound class
  • KT-33455 Override equals/hashCode in functional interface wrappers
  • KT-34902 AnalyzerException: Argument 1: expected I, but found R for unsigned types in generic data class
  • KT-35075 AssertionError: "No resolved call for ..." with conditional function references
  • KT-35468 Overcome ambiguity between typealias kotlin.Throws and the aliased type kotlin.jvm.Throws
  • KT-35494 NI: Multiple duplicate error diagnostics (in IDE popup) with NULL_FOR_NONNULL_TYPE
  • KT-35681 Wrong common supertype between raw and integer literal type leads to unsound code
  • KT-35937 Error "Declaration has several compatible actuals" on incremental build
  • KT-36013 Functional interface conversion not happens on a value of functional type with smart cast to a relevant functional type
  • KT-36045 Do not depend on the order of lambda arguments to coerce result to Unit
  • KT-36448 NI: fix tests after enabling NI in the compiler
  • KT-36706 Prohibit functional interface constructor references
  • KT-36969 Generate @​NotNull on instance parameters of Interface$DefaultImpls methods
  • KT-37058 Incorrect overload resolution ambiguity on callable reference in a conditional expression with new inference
  • KT-37120 [FIR] False UNRESOLVED_REFERENCE for public and protected member functions and properties which are declared in object inner class
  • KT-37149 Conversion when generic specified by type argument of SAM type
  • KT-37249 false TYPE_MISMATCH when When-expression branches have try-catch blocks
  • KT-37341 NI: Type mismatch with combination of lambda and function reference
  • KT-37436 AME: "Receiver class does not define or inherit an implementation of the resolved method" in runtime on usage of non-abstract method of fun interface
  • KT-37510 NI infers java.lang.Void from the expression in a lazy property delegate and throws ClassCastException at runtime
  • KT-37541 SAM conversion with fun interface without a function fails on compiling and IDE analysis in SamAdapterFunctionsScope.getSamConstructor()
  • KT-37574 NI: Type mismatch with Kotlin object extending functional type passed as @​FunctionalInterface to Java
  • KT-37630 NI: ILT suitability in a call is broken if there are CST calculation and calling function's type parameters
  • KT-37665 NI: applicability error due to implicitly inferred Nothing for returning T with expected type
  • KT-37712 No extension receiver in functional interface created with lambda
  • KT-37715 NI: VerifyError: Bad type on operand stack with varargs generic value when type is inferred
  • KT-37721 NI: Function reference with vararg parameter treated as array and missing default parameter is rejected
  • KT-37887 NI: Smart casting for Map doesn't work if the variable is already "smart casted"
  • KT-37914 NI: broken inference for a casting to subtype function within the common constraint system with this subtype
  • KT-37952 NI: improve lambdas completion through separation the lambdas analysis into several steps
  • KT-38069 Callable reference adaptation should have dependency on API version 1.4
  • KT-38143 New type inference fails when calling extension function defined on generic type with type arguments nested too deep
  • KT-38156 FIR Metadata generation
  • KT-38197 java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects
  • KT-38259 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for provideDelegate
  • KT-38337 Map delegation fails for inline classes
  • KT-38401 FIR: protected effective visibility is handled unprecisely
  • KT-38416 FIR: infinite loop in BB coroutine test 'overrideDefaultArgument.kt'
  • KT-38432 FIR: incorrect effective visibility in anonymous object
  • KT-38434 Implement resolution of suspend-conversion on FE only, but give error if suspend conversion is called
  • KT-38437 [FIR] String(CharArray) is resolved to java.lang.String constructor instead of kotlin.text.String pseudo-constructor
  • KT-38439 NI: anonymous functions without receiver is allowed if there is an expected type with receiver
  • KT-38473 FIR: ConeIntegerLiteralType in signature
  • KT-38537 IllegalArgumentException: "marginPrefix must be non-blank string" with raw strings and space as margin prefix in trimMargin() call
  • KT-38604 Implicit suspend conversion on call arguments doesn't work on vararg elements
  • KT-38680 NSME when calling generic interface method with default parameters overriden with inline class type argument
  • KT-38681 Wrong bytecode generated when calling generic interface method with default parameters overriden with primitive type argument
  • KT-38691 NI: overload resolution ambiguity if take R and () -> R, and pass literal lambda, which returns R
  • KT-38799 False positive USELESS_CAST for lambda parameter
  • KT-38802 Generated code crashes by ClassCastException when delegating with inline class
  • KT-38853 Backend Internal error: Error type encountered: Unresolved type for nested class used in an annotation argument on an interface method
  • KT-38890 NI: false negative Type mismatch for values with fun keyword
  • KT-39010 NI: Regression with false-positive smartcast on var of generic type
  • KT-39013 202, ASM 8: "AnalyzerException: Execution can fall off the end of the code"
  • KT-39260 "AssertionError: Unsigned type expected: Int" in range
  • KT-39305 NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer deeply nested type bound when class implements generic interface
  • KT-39408 Using unsigned arrays as generics fails in 1.4-M2 with class cast exception
  • KT-39533 NI: Wrong overload resolution for methods with SAM converted function reference arguments
  • KT-39535 NI: Inference fails for the parameters of SAM converted lambdas with type parameters
  • KT-39603 Require explicit override in JVM default compatibility mode on implicit generic specialization of inherited methods in classes
  • KT-39671 Couldn't inline method call 'expectBody'
  • KT-39816 NI:ClassCastException and no IDE error with provideDelegate when DELEGATE_SPECIAL_FUNCTION_MISSING in OI
  • KT-32779 Rewrite at slice in array access resolution in coroutine inference
  • KT-39387 Can't build Kotlin project due to overload resolution ambiguity on flatMap calls
  • KT-39229 NI: resolution to wrong candidate (SAM-type against similar functional type)
Docs & Examples
  • KT-36245 Document that @​kotlin.native.ThreadLocal annotation doesn't work anywhere except in Kotlin/Native
  • KT-37943 Conflicting overloads in the factory functions sample code in Coding Conventions Page
IDE
New Features
  • KT-10974 Add Code Style: Import Layout Configuration Table
  • KT-39065 "Join lines" should remove trailing comma on call site
Fixes
  • KT-9065 Wrong result when move statement through if block with call with lambda
  • KT-14757 Move statement up breaks code in function parameter list
  • KT-14946 Move statement up/down (with Ctrl+Shift+Up/Down) messes with empty lines
  • KT-15143 Kotlin: Colors&Fonts -> "Enum entry" should use Language Default -> Classes - Static field
  • KT-17887 Moving statement (Ctrl/Cmd+Shift+Down) messes with use block
  • KT-34187 UAST cannot get type of array access
  • KT-34524 "PSI and index do not match" and IDE freeze with library import from square/workflow
  • KT-35574 UAST: UBreakExpression in when expression should be UYieldExpression
  • KT-36801 IDE: Unsupported language version value is represented with "latest stable" in GUI
  • KT-37378 Remove IDE option "Enable new type inference algorithm..." in 1.4
  • KT-38003 "Analyze Data Flow from Here" should work on parameter of abstract method
  • KT-38173 Reified types do no have extends information
  • KT-38217 Make Kotlin plugin settings searchable
  • KT-38247 "IncorrectOperationException: Incorrect expression" through UltraLightUtils.kt: inlined string is not escaped before parsing
  • KT-38293 Throwable: "'codestyle.name.kotlin' is not found in java.util.PropertyResourceBundle" at KotlinLanguageCodeStyleSettingsProvider.getConfigurableDisplayName()
  • KT-38407 Drop components from plugin.xml
  • KT-38443 No error on change in property initializer
  • KT-38521 ISE: Loop in parent structure when converting a DOT_QUALIFIED_EXPRESSION with parent ANNOTATED_EXPRESSION
  • KT-38571 Rework deprecated EPs
  • KT-38632 Change the code style to official in tests
IDE. Code Style, Formatting
Fixes
  • KT-24750 Formatter: Minimum blank lines after class header does nothing
  • KT-31169 IDEA settings search fails to find "Tabs and Indents" tab in Kotlin code style settings
  • KT-35359 Incorrect indent for multiline expression in string template
  • KT-37420 Add setting to disable inserting empty line between declaration and declaration with comment
  • KT-37891 Formatter inserts empty lines between annotated properties
  • KT-38036 Use trailing comma setting does not apply to code example in Settings dialog
  • KT-38568 False positive: weak warning "Missing line break" on -> in when expression
  • KT-39024 Add option for blank lines before declaration with comment or annotation on separate line
  • KT-39079 Trailing comma: add base support for call site
  • KT-39123 Option Align 'when' branches in columns does nothing
  • KT-39180 Move trailing comma settings in Other tab
IDE. Completion
  • KT-18538 Completion of static members of grand-super java class inserts unnecessary qualifier
  • KT-38445 Fully qualified class name is used instead after insertion of delay method
IDE. Debugger
Fixes
  • KT-14057 Debugger couldn't step into Reader.read
  • KT-14828 Bad step into/over behavior for functions with default parameters
  • KT-36403 Method breakpoints don't work for libraries
  • KT-36404 Evaluate: "AssertionError: Argument expression is not saved for a SAM constructor"
  • KT-37486 Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabled
  • KT-38484 Coroutines Debugger: IAE “Requested element count -1 is less than zero.” is thrown by calling dumpCoroutines
  • KT-38606 Coroutine Debugger: OCE from org.jetbrains.kotlin.idea.debugger.coroutine.proxy.mirror.BaseMirror.isCompatible
  • KT-39143 NPE on setCurrentStackFrame to Kotlin inner compiled class content
  • KT-39412 Failed to find Premain-Class manifest attribute when debugging main method with ktor
  • KT-39634 (CoroutineDebugger) Agent doesn't start if using kotlinx-coroutines-core only dependency
  • KT-39648 Coroutines debugger doesn't see stacktraces in case of the project has kotlinx-coroutines-debug dependency
IDE. Gradle Integration
Performance Improvements
  • KT-39059 Poor performance of modifyDependenciesOnMppModules
Fixes
  • KT-35921 Gradle Import fails with "Unsupported major.minor version 52.0" on pure Java project in case "Gradle JDK" is lower 1.8 and Kotlin plugin is enabled
  • KT-36673 Gradle Project importing: move ModelBuilders and ModelProviders to kotlin-gradle-tooling jar
  • KT-36792 IDEA 2020.1: Some module->module dependencies in HMPP project are missed after import from Gradle
  • KT-37125 Imported modules structure for MPP project is displayed messy in UI in IDEA 2020.1
  • KT-37428 NPE at KotlinFacetSettings.setLanguageLevel() on the first project import
  • KT-38706 IDE Gradle import creates 4 JavaScript modules for MPP source sets with BOTH compiler type
  • KT-38767 Published hierarchical multiplatform library symbols are unresolved in IDE (master)
  • KT-38842 False positive [INVISIBLE_MEMBER] for internal declaration of commonMain called from commonTest
  • KT-39213 IDE: references from MPP project to JavaScript library are unresolved, when project and library are compiled with "both" mode
  • KT-39657 Language settings for intermediate source-sets are lost during import
IDE. Gradle. Script
New Features
  • KT-34481 *.gradle.kts: use Intellij IDEA Gradle project sync mechanics for updating script configuration
Performance Improvements
  • KT-34138 Deadlock in ScriptTemplatesFromDependenciesProvider
  • KT-38875 Deadlock in ScriptClassRootsUpdater.checkInvalidSdks
Fixes
  • KT-34265 Bogus "build configuration failed, run 'gradle tasks' for more information" message and other issues related to "script dependencies"
  • KT-34444 *.gradle.kts: special storage of all scripts configuration on one file
  • KT-35153 build.gradle.kts: scripts in removed subproject remain imported, but shouldn't
  • KT-35573 Request for gradle build script configuration only after explicit click on notification
  • KT-36675 move .gradle.kts ModelBuilders and ModelProviders to kotlin-gradle-tooling jar
  • KT-37178 build.gradle.kts: Rework the notification for scripts out of project
  • KT-37631 Unnecessary loading dependencies after opening build.gradle.kts after project import with Gradle 6
  • KT-37863 Scanning dependencies for script definitions takes too long or indefinitely during Gradle import
  • KT-38296 MISSING_DEPENDENCY_SUPERCLASS in the build.gradle.kts editor while Gradle runs Ok
  • KT-38541 "Invalid file" exception in ScriptChangeListener.getAnalyzableKtFileForScript()
  • KT-39104 “Gradle Kotlin DSL script configuration is missing” after importing project in IJ201, Gradle 6.3
  • KT-39469 Gradle version is not updated in script dependencies if the version of gradle was changed in gradle-wrapper.properties
  • KT-39771 Freeze 30s from org.jetbrains.kotlin.scripting.resolve.ApiChangeDependencyResolverWrapper.resolve on loading script configuration with Gradle 5.6.4
IDE. Inspections and Intentions
New Features
  • KT-14884 Intention to add missing "class" keyword for enum and annotation top-level declarations
  • KT-17209 Provide intention to fix platform declaration clash (CONFLICTING_JVM_DECLARATIONS)
  • KT-24522 Suggest to move typealias outside the class
  • KT-30263 Detect redundant conversions of unsigned types
  • KT-35893 Support Inspection for unnecessary asSequence() call
  • KT-38559 "Change JVM name" (@​JvmName) quickfix: improve name suggester for generic functions
  • KT-38597 Expand Boolean intention
  • KT-38982 Add "Logger initialized with foreign class" inspection
  • KT-39131 TrailingCommaInspection: should suggest fixes for call-site without warnings
Fixes
  • KT-5271 Missing QuickFix for Multiple supertypes available
  • KT-11865 "Create secondary constructor" quick fix always inserts parameter-less call to this()
  • KT-14021 Quickfix to add parameter to function gives strange name to parameter
  • KT-17121 "Implement members" quick fix is not suggested
  • KT-17368 Don't highlight members annotated with @​JsName as unused
  • KT-20795 "replace explicit parameter with it" creates invalid code in case of overload ambiguities
  • KT-22014 Intention "convert lambda to reference" should be available for implicit 'this'
  • KT-22015 Intention "Convert lambda to reference" should be available in spite of the lambda in or out of parentheses
  • KT-22142 Intentions: "Convert to primary constructor" changes semantics for property with custom setter
  • KT-22878 Empty argument list at the call site of custom function named "suspend" shouldn't be reported as unnecessary
  • KT-24281 Importing of invoke() from the same file is reported as unused even if it isn't
  • KT-25050 False-positive inspection "Call replaceable with binary operator" for 'equals'
  • KT-26361 @​Deprecated "ReplaceWith" quickfix inserts 'this' incorrectly when using function imports
  • KT-27651 'Condition is always true' inspection should not be triggered when the condition has references to a named constant
  • KT-29934 False negative Change type quickfix on primary constructor override val parameter when it has wrong type
  • KT-31682 'Convert lambda to reference' intention inside class with function which return object produces uncompilable code
  • KT-31760 Implement Abstract Function/Property intentions position generated member improperly
  • KT-32511 Create class quick fix is not suggested in super type list in case of missing primary constructor
  • KT-32565 False positive "Variable is the same as 'credentials' and should be inlined" with object declared and returned from lambda
  • KT-32801 False positive "Call on collection type may be reduced" with mapNotNull, generic lambda block and new inference
  • KT-33951 ReplaceWith quickfix with unqualified object member call doesn't substitute argument for parameter
  • KT-34378 "Convert lambda to reference" refactoring does not work for suspend functions
  • KT-34677 False positive "Collection count can be converted to size" with Iterable
  • KT-34696 Wrong 'Redundant qualifier name' for 'MyEnum.values' usage
  • KT-34713 "Condition is always 'false'": quickfix "Delete expression" doesn't remove else keyword (may break control flow)
  • KT-35015 ReplaceWith doesn't substitute parameters with argument expressions
  • KT-35329 Replace 'when' with 'if' intention: do not suggest if 'when' is used as expression and it has no 'else' branch
  • KT-36194 "Add braces to 'for' statement" inserts extra line break and moves the following single-line comment
  • KT-36406 "To ordinary string literal" intention adds unnecessary escapes to characters in template expression
  • KT-36461 "Create enum constant" quick fix adds after semicolon, if the last entry has a comma
  • KT-36462 "Create enum constant" quick fix doesn't add trailing comma
  • KT-36508 False positive "Replace 'to' with infix form" when 'to' lambda generic type argument is specified explicitly
  • KT-36930 Intention "Specify type explicitly" adds NotNull annotation when calling java method with the annotation
  • KT-37148 "Remove redundant .let call doesn't remove extra calls
  • KT-37156 "Unused unary operator" inspection highlighting is hard to see
  • KT-37173 "Replace with string templates" intention for String.format produces uncompilable string template
  • KT-37181 Don't show "Remove redundant qualifier name" inspection on qualified Companion imported with star import
  • KT-37214 "Convert lambda to reference" with a labeled "this" receiver fails
  • KT-37256 False positive PlatformExtensionReceiverOfInline inspection if a platform type value is passed to a nullable receiver
  • KT-37744 "Convert lambda to reference" inspection quick fix create incompilable code when type is inferred from lambda parameter
  • KT-37746 "Redundant suspend modifier" should not be reported for functions with actual keyword
  • KT-37842 "Convert to anonymous function" creates broken code with suspend functions
  • KT-37908 "Convert to anonymous object" quickfix: false negative when interface has concrete functions
  • KT-37967 Replace 'invoke' with direct call intention adds unnecessary parenthesis
  • KT-37977 "Replace 'invoke' with direct call" intention: false positive when function is not operator
  • KT-38062 Reactor Quickfix throws NotImplementedError for Kotlin
  • KT-38240 False positive redundant semicolon with as cast and not unary operator on next line
  • KT-38261 Redundant 'let' call removal leaves ?. operator and makes code uncompilable
  • KT-38310 Remove explicit type annotation intention drops 'suspend'
  • KT-38492 False positive "Add import" intention for already imported class
  • KT-38520 SetterBackingFieldAssignmentInspection throws exception
  • KT-38649 False positive quickfix "Assignment should be lifted out of when" in presence of smartcasts
  • KT-38677 Invalid psi tree after Lift assigment out of...
  • KT-38790 "Convert sealed subclass to object" for data classes doesn't remove 'data' keyword
  • KT-38829 'Remove redundant backticks' can be broken with @​ in name
  • KT-38831 'Replace with assignment' can be broken with fast code change
  • KT-38832 "Remove curly braces" intention may produce CCE
  • KT-38948 False positive quickfix "Make containing function suspend" for anonymous function
  • KT-38961 "Useless call on collection type" for filterNotNull on non-null array where list return type is expected
  • KT-39069 Improve TrailingCommaInspection
  • KT-39151 False positive inspection to replace Java forEach with Kotlin forEach when using ConcurrentHashMap
IDE. JS
  • KT-39275 Kotlin JS Browser template for kotlin dsl doesn't include index.html
IDE. KDoc
  • KT-32163 Open Quick Documentation when cursor inside function / constructor brackets
IDE. Navigation
  • KT-32245 Method in Kotlin class is not listed among implementing methods
  • KT-33510 There is no gutter icon to navigate from actual to expect if expect and the corresponding actual declarations are in the same file
  • KT-38260 Navigation bar doesn't show directories of files with a single top level Kotlin class
  • KT-38466 Top level functions/properties aren't shown in navigation panel
IDE. Project View
  • KT-36444 Structure view: add ability to sort by visibility
  • KT-38276 Structure view: support visibility filter for class properties
IDE. REPL
  • KT-38454 Kotlin REPL in IntelliJ doesn't take module's JVM target setting into account
IDE. Refactorings
  • KT-12878 "Change signature" forces line breaks after every parameter declaration
  • KT-30128 Change Signature should move lambda outside of parentheses if the arguments are reordered so that the lambda goes last
  • KT-35338 Move/rename refactorings mess up code formatting by wrapping lines
  • KT-38449 Extract variable refactoring is broken by NPE
  • KT-38543 Copy can't work to package with escaped package
  • KT-38627 Rename package refactorings mess up code formatting by wrapping lines
IDE. Run Configurations
  • KT-34516 Don't suggest incompatible targets in a drop-down list for run test gutter icon in multiplatform projects
  • KT-38102 DeprecatedMethodException ConfigurationFactory.getId
IDE. Scratch
  • KT-38455 Kotlin scratch files don't take module's JVM target setting into account
IDE. Script
  • KT-39791 Kotlin plugin loads VFS in the output directories
IDE. Structural Search
  • KT-39721 Optimize Kotlin SSR by using the index
  • KT-39733 Augmented assignment matching
  • KT-39769 "When expressions" predefined template doesn't match all when expressions
IDE. Wizards
  • KT-38673 New Project Wizard: multiplatform templates are generated having unsupported Gradle version in a wrapper
  • KT-38810 Incorrect order of build phases in Xcode project from new wizard
  • KT-38952 Remove old new_project_wizards
  • KT-39503 New Project wizard 1.4+: release kotlinx.html version is added to dependencies with milestone IDE plugin
  • KT-39700 Wizard: group project templates on the first step by the project type
  • KT-39770 CSS Support in Kotlin wizards
  • KT-39826 Fix Android app in New Template Wizard
  • KT-39843 Change imports in JS/browser wizard
JS. Tools
  • KT-32273 Kotlin/JS console error on hot reload
  • KT-39498 Update dukat version in toolchain near to release of 1.4-M3
JavaScript
  • KT-29916 Implement typeOf on JS
  • KT-35857 Kotlin/JS CLI bundled to IDEA plugin can't compile using IR back-end out of the box
  • KT-36798 KJS: prohibit using @​JsExport on a non-top-level declaration
  • KT-37771 KJS: Generated TypeScript does not recursively export base classes (can fail with generics)
  • KT-38113 Review public API of JS stdlib for IR BE
  • KT-38765 [JS / IR] AssertionError: class EventEmitter: Super class should be any: with nested class extending parent class
  • KT-38768 KJS IR: generate ES2015 (aka ES6) classes
Libraries
New Features
  • KT-11253 Function to sum long or other numeric property of items in a collection
  • KT-28933 capitalize() with Locale argument in the JDK stdlib
  • KT-34142 Create SortedMap with Comparator and items
  • KT-34506 Add Sequence.flatMap overload that works on Iterable
  • KT-36894 Support flatMapIndexed in the Collections API
  • KT-38480 Introduce experimental annotation for enabling overload resolution by lambda result
  • KT-38708 minOf/maxOf functions to return min/max value provided by selector
  • KT-39707 Make some interfaces in stdlib functional
Performance Improvements
  • KT-23142 toHashSet is suboptimal for inputs with a lot of duplicates
Fixes
  • KT-21266 Add module-info for standard library artifacts
  • KT-23322 Document 'reduce' operation behavior on empty collections
  • KT-28753 Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total order
  • KT-30083 Annotate KTypeProjection.STAR with JvmField in a compatible way
  • KT-30084 Annotate functions in KTypeProjection.Companion with JvmStatic
  • KT-31343 Deprecate old String <-> CharArray, ByteArray conversion api
  • KT-34596 Add some validation to KTypeProjection constructor
  • KT-35978 Review and remove experimental stdlib API status for 1.4
  • KT-38388 Document fromIndex and toIndex parameters
  • KT-38854 Gradually change the return type of collection min/max functions to non-nullable
  • KT-39023 Document split(Pattern) extension differences from Pattern.split
  • KT-39064 Introduce minOrNull and maxOrNull extension functions on collections
  • KT-39235 Lift experimental annotation from bit operations
  • KT-39237 Lift experimental annotation from common StringBuilder
  • KT-39238 Appendable.appendRange - remove nullability
  • KT-39239 Lift experimental annotation from String <-> utf8 conversion api
  • KT-39244 KJS: update polyfills, all or most of them must not be enumerable
  • KT-39330 Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.*
Middle-end. IR
  • KT-31088 need a way to compute fake overrides for pure IR
  • KT-33207 Kotlin/Native: KNPE during deserialization of an inner class
  • KT-33267 Kotlin/Native: Deserialization error for an "inner" extension property imported from a class
  • KT-37255 Make psi2ir aware of declarations provided by compiler plugins
Reflection
  • KT-22936 Not all things can be changed to createType yet, and now defaultType methods are starting to fail
  • KT-32241 Move KType.javaType into stdlib from reflect
  • KT-34344 KType.javaType implementation throws when invoked with a typeOf()
  • KT-38491 IllegalArgumentException when using callBy on function with inline class parameters and default arguments
  • KT-38881 Add KClass.isFun modifier of functional interfaces to reflection
Tools. Android Extensions
Tools. CLI
  • KT-30211 Support a way to pass arguments to the underlying JVM in kotlinc batch scripts on Windows
  • KT-30778 kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutines
  • KT-38070 Compiler option to bypass prerelease metadata incompatibility error
  • KT-38413 Add JVM target bytecode version 14
Tools. Compiler Plugins
  • KT-39274 [KJS / IR] Custom serializer for class without zero argument constructor doesn't compile
Tools. Gradle
  • KT-25428 Kotlin Gradle Plugin: Use new Gradle API for Lazy tasks
  • KT-34487 Gradle build fails with "Cannot run program "java": error=7, Argument list too long
  • KT-35957 MPP IC fails with "X has several compatible actual declarations" error
  • KT-38250 Drop support for Gradle versions older than 5.3 in the Kotlin Gradle plugin
Tools. Gradle. JS
New Features
  • KT-30619 Support NPM transitive dependencies in multi-platform JS target
  • KT-38286 [Gradle, JS] Error handling on Webpack problems
Fixes
  • KT-31669 Gradle/JS: rise error when plugin loaded more than once
  • KT-32531 [Gradle/JS] Add scoped NPM dependencies
  • KT-34832 [Kotlin/JS] Failed build after webpack run (Karma not found)
  • KT-35194 Kotlin/JS: browserRun fails with "address already in use" when trying to connect to local server
  • KT-35611 Kotlin Gradle plugin should report kotlin2js plugin ID as deprecated
  • KT-35641 Kotlin Gradle plugin should report kotlin-dce-js plugin ID as deprecated
  • KT-36410 JS: Collect stats about IR backend usage
  • KT-36451 KJS Adding npm dependency breaks Webpack devserver reloading
  • KT-37258 Kotlin/JS + Gradle: in continuous mode kotlinNpmInstall time to time outputs "ENOENT: no such file or directory" error
  • KT-38109 [Gradle, JS] Error handling on Karma launcher problems
  • KT-38331 Add an ability to control generating externals for npm deps individually
  • KT-38485 [Gradle, JS] Unable to configure JS compiler with string
  • KT-38683 Remove possibility to set NPM dependency without version
  • KT-38990 Support multiple range versions for NPM dependencies
  • KT-38994 Remove possibility to set NPM dependency with npm(org, name, version)
  • KT-39109 ArithmeticException: "/ by zero" caused by kotlinNodeJsSetup task with enabled gradle caching on Windows
  • KT-39210 Kotlin/JS: with both JS and MPP modules in the same project Gradle configuration fails on nodejs {} and browser {}
  • KT-39377 Use standard source-map-loader instead of custom one
Tools. Gradle. Multiplatform
  • KT-39184 Support publication of Kotlin-distributed libraries with Gradle Metadata
  • KT-39304 Gradle import error java.util.NoSuchElementException: Key source set foo is missing in the map on unused source set
Tools. Gradle. Native
  • KT-37514 CocoaPods Gradle plugin: Support building from terminal projects for several platforms
  • KT-38440 Make error message about missing Podfile path for cocoapods integration actionable for a user
  • KT-38991 Gradle MPP plugin: Enable parallel in-process execution for K/N compiler
  • KT-39935 Support overriding the KotlinNativeCompile task sources
  • KT-37512 Cocoapods Gradle plugin: Improve error logging for external tools
Tools. J2K
  • KT-35169 Do not show "Inline local variable" popup during "Cleaning up code" phase of J2K
  • KT-38004 J2K breaks java getter call in java code
  • KT-38450 J2K should convert Java SAM interfaces to Kotlin fun interfaces
Tools. JPS
  • KT-27458 The Kotlin standard library is not found in the module graph ... in a non-Kotlin project.
  • KT-29552 Project is completely rebuilt after each gradle sync.
Tools. Scripts
  • KT-37766 Impossible to apply compiler plugins onto scripts with the new scripting API
Tools. kapt
  • KT-29355 Provide access to default values for primary constructor properties
1.4-M2
Compiler
New Features
  • KT-37432 Do not include annotations fields into 'visibility must be explicitly specified' check in api mode
Performance Improvements
  • KT-27362 Anonymous classes representing function/property references contain rarely used methods
  • KT-35626 NI: Performance problem with many type parameters
  • KT-36047 Compiler produces if-chain instead of switch when when subject captured as variable
  • KT-36638 Use 'java/lang/StringBuilder.append (C)Ljava/lang/StringBuilder;' when appending single character in JVM_IR
  • KT-37389 Avoid type approximation during generation constraints with EQUALITY kind
  • KT-37392 Avoid substitution and type approximation for simple calls
  • KT-37546 NI: high memory and CPU consumption due to creating useless captured types (storing in approximated types cache, unneeded computations)
Fixes
  • KT-11265 Factory pattern and overload resolution ambiguity
  • KT-27524 Inline class is boxed when used with suspend modifier
  • KT-27586 ClassCastException occurs if the Result (or any other inline class) is returned from a lambda
  • KT-30419 Use boxed version of an inline class in return type position for covariant and generic-specialized overrides
  • KT-31163 FIR: consider replacing comparisons with compareTo calls and some additional intrinsics
  • KT-31585 ClassCastException with derived class delegated to generic class with inline class type argument
  • KT-31823 NI: Type mismatch with a star projection and UnsafeVariance
  • KT-33119 Pre-increment for inline class wrapping Int compiles to direct increment instead of inc-impl
  • KT-33715 Kotlin/Native: metadata compiler
  • KT-34048 IllegalAccessError when initializing val property in EXACTLY_ONCE lambda
  • KT-34433 NI: Type mismatch with a star projection and UnsafeVariance
  • KT-35133 FIR Java: don't set 'isOperator' for methods with non-operator names
  • KT-35234 ClassCastException with creating an inline class from a function reference of covariant or generic-specialized override
  • KT-35406 Generic type implicitly inferred as Nothing with no warning
  • KT-35587 Plain namespace strings in JvmNameResolver.PREDEFINED_STRINGS are prone to namespace changes during jar relocation.
  • KT-36044 NI: premature fixation a type variable if there were nested lambdas (constraint source was the deepest lambda)
  • KT-36057 [FIR] Incorrect smartcast
  • KT-36069 NI: TYPE_MISMATCH caused by incorrect inference to Nothing
  • KT-36125 Callable reference resolution ambiguity error is not displayed properly in the IDE
  • KT-36191 IDE locks loading packages and editing file containing try keyword inside string template
  • KT-36222 NI: Improve error message about nullability mismatch for a generic call
  • KT-36249 NI doesn't use upper bound for T of called function during infer return type and as a result infer it to Any? if the resulting type was intersection type
  • KT-36345 FIR: record argument mapping for use in back-end
  • KT-36446 NI: "UnsupportedOperationException no descriptor for type constructor of IntegerLiteralType[Int,Long,Byte,Short]" with BuilderInference and delegate
  • KT-36758 [FIR] Unresolved callable reference to member of local class
  • KT-36759 [FIR] Unsupported callable reference resolution for methods with default parameters
  • KT-36762 [FIR] Unresolved array.clone()
  • KT-36764 [FIR] Bug in inference with DefinitelyNotNull types
  • KT-36816 NI: definitely not-null (T!!) types in invariant positions don't approximate to T inside inference process
  • KT-36819 NI: premature completion of lambdas, which are passed somewhere
  • KT-36850 Incorrect private visibility of sealed class constructors
  • KT-36856 Throwing exception when there is inheritance in Kotlin from Java class, which contains methods with the same JVM descriptors
  • KT-36879 Introduce FIR_IDENTICAL in diagnostic tests
  • KT-36881 FIR: completion don't runs for return expressions
  • KT-36887 [FIR] Unresolved member in nested lambda in initializer
  • KT-36905 [FIR] Unresolved in lambda in default argument position
  • KT-36953 AssertionError: "Unsigned type expected: null" when there is a range with an unsigned type
  • KT-37009 FIR: Bound smart-cast lost
  • KT-37027 FIR: Wrong projection on spread + varargs on non-final types
  • KT-37038 NI: redundant lambda's arrow breaks CST calculation for extension lambdas
  • KT-37043 NI: inference T to Any? if there was elvis between Java out-type and reified materialize for this type without out projection
  • KT-37066 [FIR] Wrong type inference for lambdas
  • KT-37070 [FIR] Unresolved parameters of outer lambda in scope of inner lambda
  • KT-37087 "IllegalStateException: Can't find method 'invoke()'" for mutable property reference in default value of an inline function parameter
  • KT-37091 [FIR] Wrong inferred type of when-expression if when-argument is not-null-asserted and type is not specifies explicitly
  • KT-37176 [FIR] Incorrect resolution mode for statements of block
  • KT-37302 Unexpected conversion:Int constant inferred to Long in when expression
  • KT-37327 FIR: Smartcast problem
  • KT-37343 NI: definitely not null types pre-approximation is inconsistent with OI
  • KT-37380 NI: broken some code with def not null types due to skip needed constraints
  • KT-37419 NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER is reported in case lambda with receiver is returned from when expression
  • KT-37434 Kotlin/JS, Kotlin/Native: fun interfaces: SAM conversion to Kotlin interface is not compiled with RESOLUTION_TO_CLASSIFIER
  • KT-37447 Expression from annotation entry in value parameter inside value parameter should be marked as USED_AS_EXPRESSION
  • KT-37453 Type arguments not checked to be empty for candidates with no declared parameters
  • KT-37488 [FIR] Incorrect exhaustiveness checking for branches with equals to object that implements sealed class
  • KT-37497 NI: 'super' is not an expression, it can not be used as a receiver for extension functions
  • KT-37530 NI: instantiation of abstract class via callable reference argument causes run time InstantiationError
  • KT-37531 NI: callable reference argument with left hand side type parameter causes frontend exception
  • KT-37554 NI: Nothing is inferred incorrectly with elvis return
  • KT-37579 NI: inconsistent behaviour with OI around implicit invoke convention after safe call with additional implicit receiver
  • KT-37604 "VerifyError: Call to wrong method" in 'invoke' for adapted callable reference to constructor with coercion to Unit
  • KT-37621 NI: type variable is inferred to Nothing if the second branch was Nothing and there was upper bound for a type parameter
  • KT-37626 NI: builder inference with expected type breaks class references resolution for a class with parameters
  • KT-37627 NI: wrong order of the type variable fixation (Nothing? against a call with lambda)
  • KT-37628 NI: wrong approximation of type argument to star projection during common super type calculation
  • KT-37644 NI: appeared exception during incorporation of a captured type into a type variable for elvis resolve
  • KT-37650 NI: it's impossible to infer a type variable with the participation of a wrapped covariant type
  • KT-37718 False positive unused parameter for @​JvmStatic main function in object
  • KT-37779 ClassCastException: Named argument without spread operator for vararg parameter causes code to crash on runtime
  • KT-37832 In MPP, subtypes of types defined in legacy libraries, like stdlib, cannot properly resolve on the consumer side receviing both
  • KT-37861 Capturing an outer class instance in a default parameter of inner class constructor causes VerifyError
  • KT-37986 Return value of function reference returning inline class mapped to 'java.lang.Object' is not boxed properly
  • KT-37998 '!!' operator on safe call of function returning inline class value causes CCE at runtime
  • KT-38042 Allow kotlin.Result as a return type only if one enabled inline classes explicitly
  • KT-38134 NI: Type mismatch with a star projection and UnsafeVariance
  • KT-38298 Inconsistent choice of candidate when both expect/actual are available (affects only enableGranularSourceSetMetadata)
  • KT-38661 NI: "Cannot infer type variable TypeVariable" with lambda with receiver
  • KT-38668 Project with module dependency in KN, build fails with Kotlin 1.3.71 and associated libs but passes with 1.3.61.
  • KT-38857 Class versions V1_5 or less must use F_NEW frames.
  • KT-39113 "AssertionError: Uninitialized value on stack" with EXACTLY_ONCE contract in non-inline function and lambda destructuring
Docs & Examples
  • KT-35231 toMutableList documentation is vague
IDE
Performance Improvements
  • KT-30541 EDT Freeze after new Kotlin Script creation
  • KT-35050 Significant freezes due to findSdkAcrossDependencies()
  • KT-37301 Freeze when "Optimize Imports" in KotlinImportOptimizer
  • KT-37466 Invalidate partialBodyResolveCache on OCB
  • KT-37467 PerFileAnalysisCache.fetchAnalysisResults
  • KT-37993 Do not resolve references if paste code is located in the same origin
  • KT-38318 Freezes in IDEA
Fixes
  • KT-27935 Functional typealias with typealias in type parameters causes UnsupportedOperationException in TypeSignatureMappingKt (IDEA analysis)
  • KT-31668 Complete statement for class declaration: add '()' to supertype
  • KT-33473 UAST: References to local variable are resolved to UastKotlinPsiVariable
  • KT-34564 Kotlin USimpleNameReferenceExpression for annotation parameter resolves to null for compiled Kotlin classes
  • KT-34973 Light class incorrectly claiming ambiguous method call from Java when one overload is synthetic
  • KT-35801 UAST: UnknownKotlinExpression for valid Kotlin annotated expression
  • KT-35804 UAST: Annotations missing from catch clause parameters
  • KT-35848 UAST: ClassCastException when trying to invoke UElement for some wrapped PsiElements
  • KT-36156 Kotlin annotation attributes have blue color whereas white in Java
  • KT-36275 UAST: UCallExpression::resolve returns null for local function calls
  • KT-36717 Fix failing light class tests after switching plugin to language version 1.4
  • KT-36877 Message bundles for copy paste are missed in 201
  • KT-36907 IDE: -Xuse-ir setting on facet level does not affect highlighting
  • KT-37133 UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression
  • KT-37312 "Implement members" intention put function in the primary constructor if there are unused brackets in class
  • KT-37613 Uast: no parameters in reified method
  • KT-37933 Rare NPE in ProjectRootsUtilKt.isKotlinBinary [easy fix]
  • KT-38081 Configure kotlin in project produces IDE error "heavy operation and should not be call on AWT thread"
  • KT-38354 HMPP. IDE. Dependency leakage from leaf native to shared native module
  • KT-38634 IDE: Error on opening MPP project in 1.3.72 after opening it in 1.4-M2
IDE. Code Style, Formatting
  • KT-37870 "Remove trailing comma" action stops working after applying and cancelling it
IDE. Completion
  • KT-36808 Delete Flow.collect from autocompletion list or make it least prioritized
  • KT-36860 Provide convenient completion of extension functions from objects
  • KT-37395 Invalid callable reference completion of member extension
IDE. Debugger
  • KT-34906 Implement Coroutine Debugger
  • KT-35392 Debugger omits meaningful part of the stacktrace even with disabled filter
  • KT-36215 Coroutines debugger tab is empty in Android Studio
  • KT-37238 Coroutines Debugger: dump creation fails every time
  • KT-38047 Coroutines Debugger: Assertion failed: “Should be invoked in manager thread, use DebuggerManagerThreadImpl” on moving to source code from suspended coroutine in project without debugger jar in classpath
  • KT-38049 Coroutines Debugger: NPE “null cannot be cast to non-null type com.sun.jdi.ObjectReference” is thrown by calling dumpCoroutines
  • KT-38487 Any Field Watch interaction causes a MissingResourceException
IDE. Decompiler, Indexing, Stubs
  • KT-37896 IAE: "Argument for @​NotNull parameter 'file' of IndexTodoCacheManagerImpl.getTodoCount must not be null" through KotlinTodoSearcher.processQuery()
IDE. Gradle Integration
  • KT-33809 With kotlin.mpp.enableGranularSourceSetsMetadata=true, IDE misses dependsOn-relation between kotlin and android sourceSets, leading to issues with expect/actual matching
  • KT-36354 IDE: Gradle import from non-JVM projects: dependency to output artifact is created instead of module dependency
  • KT-38037 UnsupportedOperationException on sync gradle Kotlin project with at least two multiplatform modules
IDE. Gradle. Script
  • KT-36763 Drop modification stamp for scripts after project import
  • KT-37237 Script configurations should be loaded during project import in case of errors
  • KT-38041 Do not request for script configuration after VCS update
IDE. Inspections and Intentions
New Features
  • KT-3262 Inspection "Inner class could be nested"
  • KT-15723 Add 'Convert to value' quickfix for property containing only getter
  • KT-34026 Add "Remove argument" quick fix for redundant argument in constructor call
  • KT-34332 Add "Remove argument" quick fix for redundant argument in function call
  • KT-34450 Convert function to property intention should be also displayed on fun keyword
  • KT-34593 Invert 'if' condition: Invert String.isNotEmpty should be String.isEmpty
  • KT-34819 Inspection: report useless elvis "?: return null"
  • KT-37849 Support ReplaceWith for supertypes call
Performance Improvements
Fixes
  • KT-12329 "invert if" inserts unnecessary 'continue' for statement inside a loop with 'continue'
  • KT-17615 "Convert parameter to receiver" changes this to this@ < no name provided >
  • KT-20868 IntelliJ says method from anonymous inner class with inferred interface type is not used even though it is
  • KT-20907 Secondary constructor is marked as unused by IDE when called by typealias
  • KT-22368 "Convert to block body" intention incorrectly formats closing brace
  • KT-23510 "Remove parameter" quick fix keeps lambda argument when it's out of parentheses
  • KT-27601 False positive "Unused import directive" for extension function used in KDoc
  • KT-28085 "Convert receiver to parameter" introduces incorrect this@class in lambda
  • KT-30028 "Convert parameter to receiver" introduces wrong 'this' qualifier for extension lambda receiver
  • KT-31601 "Remove redundant let call" changes semantics by introducing multiple safe calls
  • KT-31800 False positive "never used" with function in private val object expression
  • KT-31912 QF “Convert to anonymous object” do nothing on SAM-interfaces
  • KT-32561 "Property can be declared in constructor" causes another warning
  • KT-32809 Convert parameter to receiver inserts wrong qualifiers for this (when nothing needs to be changed)
  • KT-34371 "Surround with lambda" quickfix is not available for suspend lambda parameters.
  • KT-34640 Replace 'if' with 'when' leads to copy comment line above when from another if
  • KT-36225 KNPE: CodeInliner.processTypeParameterUsages with ReplaceWith for inline reified generic function
  • KT-36266 NPE when invoking Lift return out of if/when after intention becomes inapplicable but still beeing shown
  • KT-36296 False negative "Redundant SAM-constructor" with multiple SAM arguments
  • KT-36367 False negative "Redundant SAM-constructor" for kotlin functions
  • KT-36368 False negative "Redundant SAM-constructor" for fun interfaces in kotlin
  • KT-36395 False positive "Redundant SAM-constructor" with two java interfaces extending one another
  • KT-36411 "Put parameters on separate lines" and "Put parameters on one line" actions do not respect trailing comma
  • KT-36482 "Add JvmOverloads annotation" intention is still suggested for annotation's parameters
  • KT-36686 Implement members quickfix puts the implementation before the data class if it already has a body
  • KT-36685 "Convert to a range check" transform hex range to int if it is compared with "Less" or "Greater"
  • KT-36707 False positive redundant companion object on calling companion object members
  • KT-36735 Inspection 'Replace 'toString' with string template' miss curly braces and generates wrong code for constructor calls
  • KT-36834 Convert use-site targets and usages with convert property to fun intention
  • KT-37213 "Move

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [org.jetbrains.kotlin:kotlin-stdlib-jdk7](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | dependencies | minor | `1.3.50` -> `1.9.25` | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://kotlinlang.org/) ([source](https://github.com/JetBrains/kotlin)) | dependencies | minor | `1.3.50` -> `1.9.25` | --- > ⚠️ **Warning** > > Some dependencies could not be looked up. Check the warning logs for more information. --- ### Release Notes <details> <summary>JetBrains/kotlin (org.jetbrains.kotlin:kotlin-stdlib-jdk7)</summary> ### [`v1.9.25`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.25): Kotlin 1.9.25 ##### ***Note:** This is a technical release for IntelliJ IDEA.* ##### Changelog ##### Tools. JPS - [`KT-69204`](https://youtrack.jetbrains.com/issue/KT-69204) Generate lookups in dumb mode for compatibility with ref index ### [`v1.9.24`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.24): 1.9.24 ##### Changelog ##### Backend. Wasm - [`KT-64890`](https://youtrack.jetbrains.com/issue/KT-64890) K/Wasm compiler crash with external class and Kodein ##### Compiler - [`KT-65235`](https://youtrack.jetbrains.com/issue/KT-65235) JDK 21 might lead to change in overloads resolution - [`KT-66768`](https://youtrack.jetbrains.com/issue/KT-66768) K1: False positive UNRESOLVED_REFERENCE in super.getFirst/getLast call ##### Native - [`KT-67218`](https://youtrack.jetbrains.com/issue/KT-67218) Native: nested classes in kx.serialization ProtoBuf produce empty array for release binary ##### Tools. Gradle - [`KT-67139`](https://youtrack.jetbrains.com/issue/KT-67139) Build reports can be overridden - [`KT-67138`](https://youtrack.jetbrains.com/issue/KT-67138) Json report is empty for incremental compilation ##### Tools. Gradle. Multiplatform - [`KT-67127`](https://youtrack.jetbrains.com/issue/KT-67127) KMP: IDE Dependency Resolver for CInterops reports errors on linux and windows machines - [`KT-66514`](https://youtrack.jetbrains.com/issue/KT-66514) Don't get output file from Cinterop task for IDE Import if host os doesn't support it ##### Tools. JPS - [`KT-65043`](https://youtrack.jetbrains.com/issue/KT-65043) JPS dumb mode should respect maps needed for the compiler ##### Tools. Wasm - [`KT-67785`](https://youtrack.jetbrains.com/issue/KT-67785) Kotlin/Wasm: Node.JS 22 does not need experimental-wasm-gc flag anymore - [`KT-65864`](https://youtrack.jetbrains.com/issue/KT-65864) K/Wasm: update Node.js to 22.x ### [`v1.9.23`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.23): Kotlin 1.9.23 ##### 1.9.23 ##### Apple Ecosystem - [`KT-65542`](https://youtrack.jetbrains.com/issue/KT-65542) Cinterop tasks fails if Xcode 15.3 is used ##### Backend. Wasm - [`KT-64486`](https://youtrack.jetbrains.com/issue/KT-64486) Kotlin/Wasm/WASI exported function callback for coroutines support ##### Compiler - [`KT-53478`](https://youtrack.jetbrains.com/issue/KT-53478) Could not load module <Error module> - [`KT-66044`](https://youtrack.jetbrains.com/issue/KT-66044) JDK's new API is used over Kotlin's SDK functions - [`KT-64640`](https://youtrack.jetbrains.com/issue/KT-64640) Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections - [`KT-65441`](https://youtrack.jetbrains.com/issue/KT-65441) K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces - [`KT-65634`](https://youtrack.jetbrains.com/issue/KT-65634) K/N: data race during monolithic cache creation - [`KT-53109`](https://youtrack.jetbrains.com/issue/KT-53109) CompilationErrorException generateUnboundSymbolsAsDependencies with builder inference and lambdas - [`KT-52757`](https://youtrack.jetbrains.com/issue/KT-52757) Type inference for builders fails if inferred from a function ##### Tools. Gradle - [`KT-65792`](https://youtrack.jetbrains.com/issue/KT-65792) Add JSON build report - [`KT-65091`](https://youtrack.jetbrains.com/issue/KT-65091) Update compiler metrics in build reports - [`KT-62490`](https://youtrack.jetbrains.com/issue/KT-62490) KGP dropping resource directories ##### Tools. Gradle. JS - [`KT-64119`](https://youtrack.jetbrains.com/issue/KT-64119) K/JS: Migrate package manager from Yarn onto NPM - [`KT-64561`](https://youtrack.jetbrains.com/issue/KT-64561) K/JS tests are not executed after upgrade to 1.9.22 ##### Tools. Gradle. Multiplatform - [`KT-65954`](https://youtrack.jetbrains.com/issue/KT-65954) commonTest dependencies affect commoMainMetadata compilation ##### Tools. Gradle. Native - [`KT-64573`](https://youtrack.jetbrains.com/issue/KT-64573) Default value for `produceUnpackedKlib` was not provided ### [`v1.9.22`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.22): Kotlin 1.9.22 ##### Changelog ##### JavaScript - [`KT-63719`](https://youtrack.jetbrains.com/issue/KT-63719) KJS: Test results ignored for ES module kind - [`KT-63808`](https://youtrack.jetbrains.com/issue/KT-63808) compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers ##### Native - [`KT-64139`](https://youtrack.jetbrains.com/issue/KT-64139) Weird bug with while and coroutine in Kotlin Native - [`KT-63471`](https://youtrack.jetbrains.com/issue/KT-63471) linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps - [`KT-63789`](https://youtrack.jetbrains.com/issue/KT-63789) Native: Incremental compilation problem with compose ##### Tools. CLI - [`KT-64485`](https://youtrack.jetbrains.com/issue/KT-64485) CLI: cache and optimize parsing of command-line arguments ##### Tools. Gradle - [`KT-63990`](https://youtrack.jetbrains.com/issue/KT-63990) "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects ##### Tools. Gradle. Native - [`KT-63363`](https://youtrack.jetbrains.com/issue/KT-63363) Kotlin Gradle Plugin: `KotlinNativeHostSpecificMetadataArtifact` breaks configuration cache, implicitly includes output file as configuration cache input - [`KT-63742`](https://youtrack.jetbrains.com/issue/KT-63742) Gradle wrongly caches Kotlin/Native compiler flags ##### Tools. JPS - [`KT-64305`](https://youtrack.jetbrains.com/issue/KT-64305) Kotlin JPS builder requests chunk rebuild with graph implementation - [`KT-64112`](https://youtrack.jetbrains.com/issue/KT-64112) Avoid using IJ's JPS mappings in Kotlin JPS tests - [`KT-63799`](https://youtrack.jetbrains.com/issue/KT-63799) Make plugin classpath serialization path agnostic ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.22.zip | 88b39213506532c816ff56348c07bbeefe0c8d18943bffbad11063cf97cac3e6 | | kotlin-native-linux-x86\_64-1.9.22.tar.gz | c2b0a6481ced5401db4a7028661c039b7466996efaa554bbcc6a3d421ac5e7d4 | | kotlin-native-macos-x86\_64-1.9.22.tar.gz | 4646c9bc289d48a228064f565f3a968dde3dcccd7821f403717c708f6ffa8285 | | kotlin-native-macos-aarch64-1.9.22.tar.gz | 8a95c0e0eb46b41b6d02a1942dc7dfe8c70082a2a26679490a77cd486f0ec8dd | | kotlin-native-windows-x86\_64-1.9.22.zip | a9d7bcf38a41a84002ba7a733b08e97b554225a39656d5158fc31dc6d0acede4 | ### [`v1.9.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.21): Kotlin 1.9.21 ##### Changelog ##### Compiler - [`KT-62885`](https://youtrack.jetbrains.com/issue/KT-62885) Introduce a language feature entry for expect actual classes for easier configuration of MPP projects - [`KT-63081`](https://youtrack.jetbrains.com/issue/KT-63081) Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory() ##### Docs & Examples - [`KT-55619`](https://youtrack.jetbrains.com/issue/KT-55619) Document `String.format` function ##### IDE. Gradle Integration - [`KT-62877`](https://youtrack.jetbrains.com/issue/KT-62877) Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped ##### IDE. Gradle. Script - [`KT-60813`](https://youtrack.jetbrains.com/issue/KT-60813) Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API ##### JavaScript - [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error - [`KT-63207`](https://youtrack.jetbrains.com/issue/KT-63207) KMP / JS: "TypeError: \<mangled_name> is not a function" with 1.9.20 - [`KT-62778`](https://youtrack.jetbrains.com/issue/KT-62778) package.json "main" field has .js extension when the result files have .mjs extension - [`KT-61795`](https://youtrack.jetbrains.com/issue/KT-61795) KJS: Incremental Cache is not invalidated if `useEsClasses` compiler argument was changed - [`KT-61957`](https://youtrack.jetbrains.com/issue/KT-61957) KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with `@JsExport` and Enum.entries call - [`KT-62444`](https://youtrack.jetbrains.com/issue/KT-62444) KJS with commonJS modules should re-export in 1.9.20 - [`KT-63184`](https://youtrack.jetbrains.com/issue/KT-63184) KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript - [`KT-62190`](https://youtrack.jetbrains.com/issue/KT-62190) KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules() - [`KT-58685`](https://youtrack.jetbrains.com/issue/KT-58685) KJS: "IllegalStateException: Not locked" cused by "unlock" called twice ##### Klibs - [`KT-62515`](https://youtrack.jetbrains.com/issue/KT-62515) Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match" ##### Tools. CLI - [`KT-63139`](https://youtrack.jetbrains.com/issue/KT-63139) Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info ##### Tools. Gradle - [`KT-63499`](https://youtrack.jetbrains.com/issue/KT-63499) Gradle: Source sets conventions are still registered ##### Tools. Gradle. JS - [`KT-59523`](https://youtrack.jetbrains.com/issue/KT-59523) MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs) ##### Tools. Gradle. Kapt - [`KT-63366`](https://youtrack.jetbrains.com/issue/KT-63366) Kapt processing fails with custom source sets ##### Tools. Gradle. Multiplatform - [`KT-32608`](https://youtrack.jetbrains.com/issue/KT-32608) Create JUnit-XML result file in multiplatform gradle build - [`KT-63315`](https://youtrack.jetbrains.com/issue/KT-63315) Wasm gradle plugin DSL is invalid for parameterless wasmWasi method - [`KT-63338`](https://youtrack.jetbrains.com/issue/KT-63338) \[KMP] metadata task fails to find cinterop classes from dependency projects - [`KT-63044`](https://youtrack.jetbrains.com/issue/KT-63044) KGP: Multiplatform - 8.4 configuration cache support - [`KT-63011`](https://youtrack.jetbrains.com/issue/KT-63011) Apple Framework Artifacts is not connected to KotlinNativeTask - [`KT-62601`](https://youtrack.jetbrains.com/issue/KT-62601) AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC ##### Tools. Incremental Compile - [`KT-61590`](https://youtrack.jetbrains.com/issue/KT-61590) K2/KMP: Expect actual matching is breaking on the incremental compilation ##### Tools. JPS - [`KT-63594`](https://youtrack.jetbrains.com/issue/KT-63594) ClassCastException in JPS statistics - [`KT-63651`](https://youtrack.jetbrains.com/issue/KT-63651) Fix NPE in Kotlin JPS after enabling graph implementation of JPS ##### Tools. Kapt - [`KT-57389`](https://youtrack.jetbrains.com/issue/KT-57389) KAPT3 uses a Javac API for JCImport which will break in JDK 21 - [`KT-60507`](https://youtrack.jetbrains.com/issue/KT-60507) Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain ##### Tools. Scripts - [`KT-54819`](https://youtrack.jetbrains.com/issue/KT-54819) Scripts: Not able to use slf4j in .main.kts - [`KT-61727`](https://youtrack.jetbrains.com/issue/KT-61727) Scripts: Maven artifacts resolution is slow ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.21.zip | cf17e0272bc065d49e64a86953b73af06065370629f090d5b7c2fe353ccf9c1a | | kotlin-native-linux-x86\_64-1.9.21.tar.gz | 965564bb599a95283307be31947386b61f0de79514e894b1f20f4fe728eee7cc | | kotlin-native-macos-x86\_64-1.9.21.tar.gz | 8f47cf1871bf0dfcacfc04e68ee71f2333a8a711ca25fd7a29e852eafe8da76e | | kotlin-native-macos-aarch64-1.9.21.tar.gz | b3c45aa0a5aa08419bd79b06cb5bdeed32b30141a6a976b67ca91bb0959e28b7 | | kotlin-native-windows-x86\_64-1.9.21.zip | e917e67d5dfeb4683a413b932f080adef08ba48d8ede61fbb040f9c3481f7b3a | ### [`v1.9.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.20): Kotlin 1.9.20 ##### 1.9.20 ##### Analysis. API ##### New Features - [`KT-58834`](https://youtrack.jetbrains.com/issue/KT-58834) Analysis API: Add source shadowing feature to resolve extensions ##### Performance Improvements - [`KT-57515`](https://youtrack.jetbrains.com/issue/KT-57515) LL FIR: Performance bottleneck in `CompositeModificationTracker.getModificationCount` - [`KT-59266`](https://youtrack.jetbrains.com/issue/KT-59266) K2: optimize FirElementBuilder.getOrBuildFir for elements outside body - [`KT-59454`](https://youtrack.jetbrains.com/issue/KT-59454) K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations - [`KT-59453`](https://youtrack.jetbrains.com/issue/KT-59453) K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations - [`KT-59189`](https://youtrack.jetbrains.com/issue/KT-59189) Analysis API: KtFirKDocReference.resolveToSymbols is slow - [`KT-58125`](https://youtrack.jetbrains.com/issue/KT-58125) K2: LL FIR: `KtToFirMapping.getElement` is slow for `KtUserType`s due to on-air resolution of types ##### Fixes - [`KT-59240`](https://youtrack.jetbrains.com/issue/KT-59240) K2: FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from superTypes - [`KT-58499`](https://youtrack.jetbrains.com/issue/KT-58499) K2: FirLazyBlock should be calculated before accessing - [`KT-57966`](https://youtrack.jetbrains.com/issue/KT-57966) K2: Analysis API: Reference Shortener does not work correctly when called on entire file - [`KT-60954`](https://youtrack.jetbrains.com/issue/KT-60954) K2: Analysis API: Reference shortener does not work correctly with variable assignments - [`KT-60940`](https://youtrack.jetbrains.com/issue/KT-60940) K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations - [`KT-60488`](https://youtrack.jetbrains.com/issue/KT-60488) Analysis API: forbid providing custom KtLifetimeToken for every analyze call - [`KT-60728`](https://youtrack.jetbrains.com/issue/KT-60728) K2: proper support for scripts in LL FIR transformers - [`KT-59159`](https://youtrack.jetbrains.com/issue/KT-59159) K2 IDE: declaration is not found exception - [`KT-59297`](https://youtrack.jetbrains.com/issue/KT-59297) K2: exception from body resolve leads to corrupted state and broken analysis - [`KT-59077`](https://youtrack.jetbrains.com/issue/KT-59077) KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls - [`KT-60586`](https://youtrack.jetbrains.com/issue/KT-60586) K2: forbid analyze from write action - [`KT-57743`](https://youtrack.jetbrains.com/issue/KT-57743) K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies - [`KT-61026`](https://youtrack.jetbrains.com/issue/KT-61026) K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve - [`KT-61009`](https://youtrack.jetbrains.com/issue/KT-61009) K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit> - [`KT-60357`](https://youtrack.jetbrains.com/issue/KT-60357) K2 IDE. Reified types parameters are not resolved in a function body - [`KT-60317`](https://youtrack.jetbrains.com/issue/KT-60317) K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library - [`KT-60706`](https://youtrack.jetbrains.com/issue/KT-60706) K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common - [`KT-60552`](https://youtrack.jetbrains.com/issue/KT-60552) K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer - [`KT-60641`](https://youtrack.jetbrains.com/issue/KT-60641) Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing - [`KT-60638`](https://youtrack.jetbrains.com/issue/KT-60638) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit> - [`KT-54846`](https://youtrack.jetbrains.com/issue/KT-54846) Analysis API: add isExpect/isActual to KtSymbol - [`KT-60448`](https://youtrack.jetbrains.com/issue/KT-60448) FirLazyResolveContractViolationException: `lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)` cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin - [`KT-59342`](https://youtrack.jetbrains.com/issue/KT-59342) K2 IDE. FirLazyResolveContractViolationException: `lazyResolveToPhase(TYPES)` cannot be called from a transformer with a phase TYPES - [`KT-59687`](https://youtrack.jetbrains.com/issue/KT-59687) K2: Implement proper body update for in-block modifications - [`KT-59329`](https://youtrack.jetbrains.com/issue/KT-59329) Resolve Extensions reference resolution breaks Find Usages - [`KT-60295`](https://youtrack.jetbrains.com/issue/KT-60295) K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver - [`KT-59758`](https://youtrack.jetbrains.com/issue/KT-59758) K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump - [`KT-60377`](https://youtrack.jetbrains.com/issue/KT-60377) K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled - [`KT-59685`](https://youtrack.jetbrains.com/issue/KT-59685) K2: rewrite on-air resolution - [`KT-60132`](https://youtrack.jetbrains.com/issue/KT-60132) K2: properties and functions without a name should be re-analyzable as well - [`KT-59199`](https://youtrack.jetbrains.com/issue/KT-59199) K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements - [`KT-59667`](https://youtrack.jetbrains.com/issue/KT-59667) Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor - [`KT-59705`](https://youtrack.jetbrains.com/issue/KT-59705) KotlinExceptionWithAttachments: No fir element was found for getter - [`KT-59697`](https://youtrack.jetbrains.com/issue/KT-59697) AA standalone: JRT module paths are not properly populated in Windows - [`KT-59505`](https://youtrack.jetbrains.com/issue/KT-59505) K2: implicit type lazy resolution doesn't work for delegated declaration from other module - [`KT-56426`](https://youtrack.jetbrains.com/issue/KT-56426) K2 IDE: Typealised functional types cannot be rendered - [`KT-59598`](https://youtrack.jetbrains.com/issue/KT-59598) AA: stackoverflow while simplifying a type with a recursive type parameter - [`KT-58497`](https://youtrack.jetbrains.com/issue/KT-58497) K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found - [`KT-59511`](https://youtrack.jetbrains.com/issue/KT-59511) AA standalone mode creates Application Environment for tests - [`KT-58161`](https://youtrack.jetbrains.com/issue/KT-58161) Analysis API: Make methods in `KtCallResolverMixIn` more distinctive based on their receiver/return type - [`KT-59093`](https://youtrack.jetbrains.com/issue/KT-59093) Do not throw exception on KtCall resolution, `KtCallElement.resolveCall` should return `null` on unknown cases - [`KT-59243`](https://youtrack.jetbrains.com/issue/KT-59243) K2: FirLazyResolveContractViolationException: `lazyResolveToPhase(IMPORTS)` cannot be called from a transformer with a phase IMPORTS from permits types - [`KT-58194`](https://youtrack.jetbrains.com/issue/KT-58194) K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement - [`KT-59133`](https://youtrack.jetbrains.com/issue/KT-59133) K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol - [`KT-58174`](https://youtrack.jetbrains.com/issue/KT-58174) K2: LL FIR: Invalid type reference for T & Any type - [`KT-52615`](https://youtrack.jetbrains.com/issue/KT-52615) LL FIR: build RAW FIR only by stubs - [`KT-55053`](https://youtrack.jetbrains.com/issue/KT-55053) K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder - [`KT-58580`](https://youtrack.jetbrains.com/issue/KT-58580) K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through `LLFirCombinedKotlinSymbolProvider` - [`KT-58992`](https://youtrack.jetbrains.com/issue/KT-58992) Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API - [`KT-58727`](https://youtrack.jetbrains.com/issue/KT-58727) K2: AA FIR: implicit type in delegated function treated as error - [`KT-58653`](https://youtrack.jetbrains.com/issue/KT-58653) K2: Analysis API: add functions for KtScope members access by name - [`KT-57559`](https://youtrack.jetbrains.com/issue/KT-57559) K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project - [`KT-58262`](https://youtrack.jetbrains.com/issue/KT-58262) Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion - [`KT-57455`](https://youtrack.jetbrains.com/issue/KT-57455) LL FIR: Combine `AbstractFirDeserializedSymbolProvider`s in session dependencies (optimization) - [`KT-57207`](https://youtrack.jetbrains.com/issue/KT-57207) LL FIR: Combine `JavaSymbolProvider`s in session dependencies (optimization) - [`KT-58546`](https://youtrack.jetbrains.com/issue/KT-58546) K2: LL FIR: support name collision in a designation path - [`KT-58495`](https://youtrack.jetbrains.com/issue/KT-58495) K2: Lazy calculation is redundant - [`KT-58500`](https://youtrack.jetbrains.com/issue/KT-58500) K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement - [`KT-58493`](https://youtrack.jetbrains.com/issue/KT-58493) K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found - [`KT-58496`](https://youtrack.jetbrains.com/issue/KT-58496) K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found - [`KT-58491`](https://youtrack.jetbrains.com/issue/KT-58491) K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found - [`KT-56550`](https://youtrack.jetbrains.com/issue/KT-56550) LL FIR: implement parallel resolve for non-jumping phases - [`KT-58503`](https://youtrack.jetbrains.com/issue/KT-58503) Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve - [`KT-57623`](https://youtrack.jetbrains.com/issue/KT-57623) K2 IDE: ConcurrentModificationException from getSuperConeTypes - [`KT-58083`](https://youtrack.jetbrains.com/issue/KT-58083) K2: LL FIR: implement FakeOverrideTypeCalculator ##### Android - [`KT-27170`](https://youtrack.jetbrains.com/issue/KT-27170) Android lint tasks fails in Gradle with MPP dependency ##### Backend. Native. Debug - [`KT-61131`](https://youtrack.jetbrains.com/issue/KT-61131) Virtual functions trampolines have invalid debug info ##### Backend. Wasm ##### Fixes - [`KT-60244`](https://youtrack.jetbrains.com/issue/KT-60244) K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification - [`KT-61262`](https://youtrack.jetbrains.com/issue/KT-61262) K/Wasm: add a way to turn on k2 in wasm examples that don't use compose - [`KT-61343`](https://youtrack.jetbrains.com/issue/KT-61343) K/Wasm: add a wasi example to kotlin-wasm-examples - [`KT-62147`](https://youtrack.jetbrains.com/issue/KT-62147) \[Kotlin/Wasm] Nothing typed when expression cause a backend error - [`KT-59720`](https://youtrack.jetbrains.com/issue/KT-59720) K/Wasm: update to final opcodes - [`KT-60834`](https://youtrack.jetbrains.com/issue/KT-60834) K/Wasm: investigate consequences of stopping using `br_on_cast_fail` - [`KT-59294`](https://youtrack.jetbrains.com/issue/KT-59294) WASM: localStorage Cannot read properties of undefined (reading 'length') - [`KT-60835`](https://youtrack.jetbrains.com/issue/KT-60835) K/Wasm: fix compatibility with Node.js 20.\* - [`KT-60113`](https://youtrack.jetbrains.com/issue/KT-60113) K/Wasm: illegal cast when using 1.9.20-dev - [`KT-60496`](https://youtrack.jetbrains.com/issue/KT-60496) Compose-web Wasm crashes on remember { null } calls - [`KT-58746`](https://youtrack.jetbrains.com/issue/KT-58746) K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations) - [`KT-58993`](https://youtrack.jetbrains.com/issue/KT-58993) \[K/Wasm] Fix w3c declarations with lambda parameters - [`KT-59722`](https://youtrack.jetbrains.com/issue/KT-59722) K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructions - [`KT-59713`](https://youtrack.jetbrains.com/issue/KT-59713) K/Wasm: Implement enumEntries intrinsic - [`KT-59082`](https://youtrack.jetbrains.com/issue/KT-59082) WASM: NullPointerException caused by companion with String type constants - [`KT-58941`](https://youtrack.jetbrains.com/issue/KT-58941) WASM Hang with extension delegate inside a Class - [`KT-60200`](https://youtrack.jetbrains.com/issue/KT-60200) K/Wasm: generate types without supertypes properly - [`KT-52178`](https://youtrack.jetbrains.com/issue/KT-52178) IR dump doesn't seem to work for Kotlin/WASM phases - [`KT-59556`](https://youtrack.jetbrains.com/issue/KT-59556) Wasm: critical dependency when using with webpack - [`KT-58681`](https://youtrack.jetbrains.com/issue/KT-58681) K/Wasm: division remainder has a wrong sign - [`KT-56711`](https://youtrack.jetbrains.com/issue/KT-56711) Wasm: IllegalStateException caused by dynamic type ##### Compiler ##### New Features - [`KT-58551`](https://youtrack.jetbrains.com/issue/KT-58551) KMP: check all annotation from expect declaration are present on actual - [`KT-58554`](https://youtrack.jetbrains.com/issue/KT-58554) KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning - [`KT-58545`](https://youtrack.jetbrains.com/issue/KT-58545) KMP: prohibit implicit actualization via Java - [`KT-58536`](https://youtrack.jetbrains.com/issue/KT-58536) KMP: prohibit `expect tailrec` / `expect external` - [`KT-59764`](https://youtrack.jetbrains.com/issue/KT-59764) Make a frontend checker that reports cast to forward declaration as unchecked - [`KT-60528`](https://youtrack.jetbrains.com/issue/KT-60528) Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin - [`KT-59558`](https://youtrack.jetbrains.com/issue/KT-59558) Add support for creating annotation instances with type parameters - [`KT-52367`](https://youtrack.jetbrains.com/issue/KT-52367) Devirtualization algorithm improvement - [`KT-58652`](https://youtrack.jetbrains.com/issue/KT-58652) Native: Implement frontend checkers for HiddenFromObjC on classes ##### Performance Improvements - [`KT-59600`](https://youtrack.jetbrains.com/issue/KT-59600) K2: CFG: do not add edges to nested classes and functions - [`KT-57860`](https://youtrack.jetbrains.com/issue/KT-57860) K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing ##### Fixes - [`KT-60387`](https://youtrack.jetbrains.com/issue/KT-60387) K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList" - [`KT-61228`](https://youtrack.jetbrains.com/issue/KT-61228) False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final properties - [`KT-61643`](https://youtrack.jetbrains.com/issue/KT-61643) "Argument type mismatch" for mixed Java/Kotlin Project with Java 21 - [`KT-62389`](https://youtrack.jetbrains.com/issue/KT-62389) JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies - [`KT-56768`](https://youtrack.jetbrains.com/issue/KT-56768) K2. No error description on incomplete try catch declaration - [`KT-52220`](https://youtrack.jetbrains.com/issue/KT-52220) FIR + LightTree - Consider building a single tree on parsing into LightTree - [`KT-60601`](https://youtrack.jetbrains.com/issue/KT-60601) K2 / Maven: Overload resolution ambiguity between candidates inline method - [`KT-62027`](https://youtrack.jetbrains.com/issue/KT-62027) "java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation `@AllowDifferentMembersInActual` used - [`KT-62747`](https://youtrack.jetbrains.com/issue/KT-62747) Wrong warning message when overriding vararg with Array during actualization - [`KT-62655`](https://youtrack.jetbrains.com/issue/KT-62655) Don't report a warning when new members and new supertypes are added to open expect actualization - [`KT-62313`](https://youtrack.jetbrains.com/issue/KT-62313) Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator - [`KT-60902`](https://youtrack.jetbrains.com/issue/KT-60902) visibility vs upper bound expect actual matching conflict - [`KT-61095`](https://youtrack.jetbrains.com/issue/KT-61095) K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker - [`KT-47567`](https://youtrack.jetbrains.com/issue/KT-47567) 'Val cannot be reassigned' error not reported in unreachable code - [`KT-59468`](https://youtrack.jetbrains.com/issue/KT-59468) K2: build realm-kotlin - [`KT-62026`](https://youtrack.jetbrains.com/issue/KT-62026) KMP: Correctly handle a case when annotation on expect declaration is unresolved - [`KT-59476`](https://youtrack.jetbrains.com/issue/KT-59476) K2: build ClashForAndroid - [`KT-59487`](https://youtrack.jetbrains.com/issue/KT-59487) K2: build KSP-playground - [`KT-47409`](https://youtrack.jetbrains.com/issue/KT-47409) K1/K2: Investigate and align inference for equality (==) operator - [`KT-59393`](https://youtrack.jetbrains.com/issue/KT-59393) K2: Missing TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED - [`KT-62127`](https://youtrack.jetbrains.com/issue/KT-62127) "NoSuchFieldError: TRUE$delegate" on referencing companion's variable in submodule - [`KT-62335`](https://youtrack.jetbrains.com/issue/KT-62335) Improve debuggability of code generator crashes - [`KT-61165`](https://youtrack.jetbrains.com/issue/KT-61165) More than one overridden descriptor declares a default value for 'cause: Throwable?'. As the compiler can not make sure these values agree, this is not allowed - [`KT-62263`](https://youtrack.jetbrains.com/issue/KT-62263) Turn "different expect/actual members" error into a warning - [`KT-59969`](https://youtrack.jetbrains.com/issue/KT-59969) K2: Disappeared UNSUPPORTED_CONTEXTUAL_DECLARATION_CALL - [`KT-61616`](https://youtrack.jetbrains.com/issue/KT-61616) K2: `IrBuiltIns.extensionToString` fails during native compilation - [`KT-59377`](https://youtrack.jetbrains.com/issue/KT-59377) K2: Missing CALL_TO_JS_MODULE_WITHOUT_MODULE_SYSTEM - [`KT-61645`](https://youtrack.jetbrains.com/issue/KT-61645) K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation - [`KT-61924`](https://youtrack.jetbrains.com/issue/KT-61924) Native: problem with abstract fake override from Any - [`KT-61933`](https://youtrack.jetbrains.com/issue/KT-61933) K2: "`Argument type mismatch: actual type is 'Foo<kotlin/Function0<kotlin/Unit>>' but 'Foo<kotlin/coroutines/SuspendFunction0<kotlin/Unit>>' was expected`" - [`KT-59471`](https://youtrack.jetbrains.com/issue/KT-59471) K2: build multiplatform-settings - [`KT-56077`](https://youtrack.jetbrains.com/issue/KT-56077) K2: build kotlinx.atomicfu - [`KT-59465`](https://youtrack.jetbrains.com/issue/KT-59465) K2: build kotlinx-datetime - [`KT-60824`](https://youtrack.jetbrains.com/issue/KT-60824) K2 IDE: FirSyntheticCallGenerator: IAE: List has more than one element - [`KT-61856`](https://youtrack.jetbrains.com/issue/KT-61856) K2: "KotlinIllegalArgumentExceptionWithAttachments" on usage of javax.validation.constraints.Email.List - [`KT-54792`](https://youtrack.jetbrains.com/issue/KT-54792) Store program order of properties inside `@kotlin`.Metadata - [`KT-56083`](https://youtrack.jetbrains.com/issue/KT-56083) K2: build ktor - [`KT-23861`](https://youtrack.jetbrains.com/issue/KT-23861) Expect annotation should not be applicable wider than the actual one - [`KT-59466`](https://youtrack.jetbrains.com/issue/KT-59466) K2: build kotlinx-benchmark - [`KT-60830`](https://youtrack.jetbrains.com/issue/KT-60830) KMP, K2: expect actual annotation IR checker doesn't unwrap actual typealiases to annotations - [`KT-61668`](https://youtrack.jetbrains.com/issue/KT-61668) Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version - [`KT-61725`](https://youtrack.jetbrains.com/issue/KT-61725) KMP: Annotation matching requirement for expect/actual leads to errors for annotations with `@OptionalExpectation` - [`KT-47892`](https://youtrack.jetbrains.com/issue/KT-47892) False negative BREAK_OR_CONTINUE_OUTSIDE_A_LOOP with `continue` in `init` block inside `for` - [`KT-61784`](https://youtrack.jetbrains.com/issue/KT-61784) KMP: \[DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functions - [`KT-61173`](https://youtrack.jetbrains.com/issue/KT-61173) K2: FirProperty.hasBackingField is true for an expect val - [`KT-59743`](https://youtrack.jetbrains.com/issue/KT-59743) K2: erroneous binding of typealias with two type parameters to a class with one type parameter - [`KT-60650`](https://youtrack.jetbrains.com/issue/KT-60650) KMP: prohibit problematic actual typealiases - [`KT-61461`](https://youtrack.jetbrains.com/issue/KT-61461) K2: Kotlin native metadata compilation breaks when stdlib is present in -libraries - [`KT-61270`](https://youtrack.jetbrains.com/issue/KT-61270) Enabling Kotlin/Native caching causes 65K warnings from dsymutil when building Compose iOS app - [`KT-58229`](https://youtrack.jetbrains.com/issue/KT-58229) K2/MPP/JVM: compiler codegen crash on call of inherited generic class's method with actual-typealias as value parameter - [`KT-47702`](https://youtrack.jetbrains.com/issue/KT-47702) Support call of Java annotation constructor without specifying a default value - [`KT-56460`](https://youtrack.jetbrains.com/issue/KT-56460) K2: Do not re-run DiagnosticCollectorVisitor from FirInlineDeclarationChecker.checkChildrenWithCustomVisitor - [`KT-55933`](https://youtrack.jetbrains.com/issue/KT-55933) K2: False negative Overload resolution ambiguity for call functions with named parameters if one of params is vararg - [`KT-59548`](https://youtrack.jetbrains.com/issue/KT-59548) FIR2IR: inconsistent generation of dispatch receiver for object methods - [`KT-55072`](https://youtrack.jetbrains.com/issue/KT-55072) K2: False positive "suspension point is inside a critical section" - [`KT-58778`](https://youtrack.jetbrains.com/issue/KT-58778) JVM IR inline: add fake variables for debugger - [`KT-59404`](https://youtrack.jetbrains.com/issue/KT-59404) K2: Missing EXPECT_TYPE_IN_WHEN_WITHOUT_ELSE - [`KT-59830`](https://youtrack.jetbrains.com/issue/KT-59830) K2. False negative \[FINAL_SUPERTYPE] on extending final class through type alias - [`KT-60580`](https://youtrack.jetbrains.com/issue/KT-60580) K2: Not supported: class org.jetbrains.kotlin.fir.types.ConeFlexibleType - [`KT-59391`](https://youtrack.jetbrains.com/issue/KT-59391) K2: Missing JS_BUILTIN_NAME_CLASH - [`KT-59392`](https://youtrack.jetbrains.com/issue/KT-59392) K2: Missing NAME_CONTAINS_ILLEGAL_CHARS - [`KT-58360`](https://youtrack.jetbrains.com/issue/KT-58360) Intrinsics for atomic update of array elements - [`KT-59165`](https://youtrack.jetbrains.com/issue/KT-59165) K2: Prohibit class literals with empty left-hand side - [`KT-60427`](https://youtrack.jetbrains.com/issue/KT-60427) K2 `@Metadata` annotations contain outerType/outerTypeId information for non-inner nested classes - [`KT-59376`](https://youtrack.jetbrains.com/issue/KT-59376) K2: Missing TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR - [`KT-55221`](https://youtrack.jetbrains.com/issue/KT-55221) K2: No error reported for self-referencing local function with inferred return type - [`KT-59586`](https://youtrack.jetbrains.com/issue/KT-59586) K2: support JVM backend diagnostics in light tree mode - [`KT-57780`](https://youtrack.jetbrains.com/issue/KT-57780) K2: Calling a constructor through a deprecated typealias doesn't report a deprecation - [`KT-59110`](https://youtrack.jetbrains.com/issue/KT-59110) K2. "NotImplementedError: An operation is not implemented." error on incorrect `@Target` annotation - [`KT-59249`](https://youtrack.jetbrains.com/issue/KT-59249) K2: Empty varargs are not serialized to KLIB - [`KT-55373`](https://youtrack.jetbrains.com/issue/KT-55373) K2. Unresolved reference error for type mismatch with callable references - [`KT-55955`](https://youtrack.jetbrains.com/issue/KT-55955) K2: callable references are not properly resolved when in conflict with expected type - [`KT-60144`](https://youtrack.jetbrains.com/issue/KT-60144) JVM IR inline: backport primitive boxing in class literals - [`KT-60779`](https://youtrack.jetbrains.com/issue/KT-60779) K2: missing INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER - [`KT-60587`](https://youtrack.jetbrains.com/issue/KT-60587) K2: Implement warning NO_REFLECTION_IN_CLASS_PATH - [`KT-61145`](https://youtrack.jetbrains.com/issue/KT-61145) False negative NOTHING_TO_OVERRIDE when context receivers don't match - [`KT-59378`](https://youtrack.jetbrains.com/issue/KT-59378) K2: Missing FINITE_BOUNDS_VIOLATION and FINITE_BOUNDS_VIOLATION_IN_JAVA - [`KT-61163`](https://youtrack.jetbrains.com/issue/KT-61163) Default params on actual check and inheritance by delegation compilation error - [`KT-60800`](https://youtrack.jetbrains.com/issue/KT-60800) \[atomicfu-K/N]: turn on the tests for the K/N part of the compiler plugin - [`KT-61029`](https://youtrack.jetbrains.com/issue/KT-61029) K2: Duplicates when processing direct overridden callables - [`KT-55196`](https://youtrack.jetbrains.com/issue/KT-55196) K2: False-negative CONST_VAL_WITH_NON_CONST_INITIALIZER on boolean .not() call - [`KT-60862`](https://youtrack.jetbrains.com/issue/KT-60862) Kotlin Scripting: NoSuchMethodError for ExternalDependenciesResolver.addRepository - [`KT-57963`](https://youtrack.jetbrains.com/issue/KT-57963) K2: MPP: Annotation calls should be actualized - [`KT-60854`](https://youtrack.jetbrains.com/issue/KT-60854) K2: IrActualizer incorrectly generates fake overrides for synthetic java properties - [`KT-59665`](https://youtrack.jetbrains.com/issue/KT-59665) ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS isn't reported for actual typealias and fake-override actualization - [`KT-61039`](https://youtrack.jetbrains.com/issue/KT-61039) False positive ABSTRACT_MEMBER_NOT_IMPLEMENTED in K1 when expect actual super types scopes don't match - [`KT-61166`](https://youtrack.jetbrains.com/issue/KT-61166) Inherited platform declaration clash & accidental override - [`KT-60531`](https://youtrack.jetbrains.com/issue/KT-60531) K2/JS: Report diagnostics before running FIR2IR - [`KT-32275`](https://youtrack.jetbrains.com/issue/KT-32275) Embedding kotlin-compiler-embeddable into a Java EE App leads to CDI related deployment error - [`KT-57845`](https://youtrack.jetbrains.com/issue/KT-57845) K2. Unresolved reference error on calling Java references with fully qualified name - [`KT-58757`](https://youtrack.jetbrains.com/issue/KT-58757) K2: False-positive NON_PUBLIC_CALL_FROM_PUBLIC_INLINE error in case an inline fun is protected and is a part of an internal abstract class declaration - [`KT-59736`](https://youtrack.jetbrains.com/issue/KT-59736) kotlinx.serialization + K2 + JS: e: java.lang.IllegalStateException: Symbol for kotlinx.serialization.json.internal/FormatLanguage.<init>|-547215418288530576\[1] is unbound - [`KT-59071`](https://youtrack.jetbrains.com/issue/KT-59071) K2/MPP: internal declarations from common module are invisible in dependent source sets if there is more that one intermediate source set between - [`KT-61167`](https://youtrack.jetbrains.com/issue/KT-61167) Runtime failure: ReferenceError: MyPromise is not defined - [`KT-59408`](https://youtrack.jetbrains.com/issue/KT-59408) K2: Missing MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES - [`KT-61409`](https://youtrack.jetbrains.com/issue/KT-61409) Kotlin/Native: crash in kmm-production-sample (compose-app) with escape analysis enabled - [`KT-57329`](https://youtrack.jetbrains.com/issue/KT-57329) K/N IR linkage issues due to the combination of static caches w/ Lazy IR & Compose compiler plugin - [`KT-59247`](https://youtrack.jetbrains.com/issue/KT-59247) Kapt+JVM_IR: AssertionError on anonymous object in enum super constructor call - [`KT-58576`](https://youtrack.jetbrains.com/issue/KT-58576) K2: IR actualization problems in MPP scenario - [`KT-61442`](https://youtrack.jetbrains.com/issue/KT-61442) K2: Consider stricter filtering on implicit integer coercion - [`KT-61441`](https://youtrack.jetbrains.com/issue/KT-61441) K2: Wrong overload is chosen with ImplicitIntegerCoercion enabled - [`KT-59328`](https://youtrack.jetbrains.com/issue/KT-59328) K2: property with compound getter and without explicit type: compilation failure, IAE "List has more than one element" at FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature() - [`KT-61159`](https://youtrack.jetbrains.com/issue/KT-61159) K2: OVERLOAD_RESOLUTION_AMBIGUITY between private top-level property in same file and top-level property in different module - [`KT-59233`](https://youtrack.jetbrains.com/issue/KT-59233) K2: false-negative diagnostic on creating a callable reference to a function with free type variables - [`KT-61418`](https://youtrack.jetbrains.com/issue/KT-61418) k2: ImplicitIntegerCoercion to List leads to "IllegalStateException: Cannot find cached type parameter by FIR symbol" - [`KT-61373`](https://youtrack.jetbrains.com/issue/KT-61373) False positive: "The opt-in annotation is redundant: no matching experimental API is used" with multiplatform code. - [`KT-58884`](https://youtrack.jetbrains.com/issue/KT-58884) K2: NotAMockException for mock testing with lambda expression with Maven - [`KT-58893`](https://youtrack.jetbrains.com/issue/KT-58893) K2: MockitoException for mock testing with lambda expression with Gradle - [`KT-59483`](https://youtrack.jetbrains.com/issue/KT-59483) K2: Build a Native app - [`KT-57738`](https://youtrack.jetbrains.com/issue/KT-57738) K2: unresolved class fields and methods in kotlin scripts - [`KT-59449`](https://youtrack.jetbrains.com/issue/KT-59449) K2: Diagnostic messages contain debugging-style rendered FIR - [`KT-59849`](https://youtrack.jetbrains.com/issue/KT-59849) K2: IllegalArgumentException: List has more than one element - [`KT-57553`](https://youtrack.jetbrains.com/issue/KT-57553) Implement deprecation for open val with backing field and deferred initialization in K1 - [`KT-57230`](https://youtrack.jetbrains.com/issue/KT-57230) Support Kotlin/Wasm in the K2 platform - [`KT-59409`](https://youtrack.jetbrains.com/issue/KT-59409) K2: Missing DEFAULT_VALUE_NOT_ALLOWED_IN_OVERRIDE - [`KT-59058`](https://youtrack.jetbrains.com/issue/KT-59058) Companion object is not initialized on class constructor call - [`KT-61017`](https://youtrack.jetbrains.com/issue/KT-61017) K2: intermediate expect/actual class results in expected class has no actual declaration in module - [`KT-60181`](https://youtrack.jetbrains.com/issue/KT-60181) K2: "NotImplementedError: An operation is not implemented" with Spring - [`KT-59472`](https://youtrack.jetbrains.com/issue/KT-59472) K2: build Reaktive - [`KT-54786`](https://youtrack.jetbrains.com/issue/KT-54786) MPP: "LazyTypeAliasDescriptor cannot be cast to class org.jetbrains.kotlin.descriptors.ClassDescriptor" caused by expected non-constant function argument on iOS if class is type aliased - [`KT-59753`](https://youtrack.jetbrains.com/issue/KT-59753) K2: NotImplementedError when using annotation with vararg with default value from other module - [`KT-60883`](https://youtrack.jetbrains.com/issue/KT-60883) K2: Fix `testRequireKotlinCompilerVersion` in LV 2.0 branch - [`KT-59747`](https://youtrack.jetbrains.com/issue/KT-59747) K2: cannot actualize expect class to Unit via typealias - [`KT-61054`](https://youtrack.jetbrains.com/issue/KT-61054) K2: "IAE: source must not be null" with -no-reflect on calling property getter with implicit invoke - [`KT-57126`](https://youtrack.jetbrains.com/issue/KT-57126) \[KLIB Reproducibility] Manifest is written using os-dependent line separators - [`KT-60850`](https://youtrack.jetbrains.com/issue/KT-60850) K2: FIR2IR generates incorrect signature for fake overrides for common declaration if it called from a platform module - [`KT-59218`](https://youtrack.jetbrains.com/issue/KT-59218) K2: return types of calls to `@PolymorphicSignature` methods inside try-expressions don't resolve to void when required - [`KT-60002`](https://youtrack.jetbrains.com/issue/KT-60002) K2: Missing UNSUPPORTED_SUSPEND_TEST - [`KT-61011`](https://youtrack.jetbrains.com/issue/KT-61011) K2 Scripts: FirRecursiveProblemChecker: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit> - [`KT-58906`](https://youtrack.jetbrains.com/issue/KT-58906) K2. "Backend Internal error: Exception during IR lowering" instead of CANNOT_INFER_PARAMETER_TYPE error when parameter type missing in lambda - [`KT-59490`](https://youtrack.jetbrains.com/issue/KT-59490) K2: build km-shop - [`KT-60163`](https://youtrack.jetbrains.com/issue/KT-60163) K2: vararg annotation argument value is serialized not as an array - [`KT-59355`](https://youtrack.jetbrains.com/issue/KT-59355) K2: Allow to actual classifier have wider visibility than the corresponding expect class - [`KT-56179`](https://youtrack.jetbrains.com/issue/KT-56179) \[K2/N] `interop_objc_tests/multipleInheritanceClash.kt` test failed - [`KT-59411`](https://youtrack.jetbrains.com/issue/KT-59411) K2: Missing ENUM_CLASS_CONSTRUCTOR_CALL - [`KT-59410`](https://youtrack.jetbrains.com/issue/KT-59410) K2: Missing TYPEALIAS_EXPANDED_TO_MALFORMED_TYPE - [`KT-59382`](https://youtrack.jetbrains.com/issue/KT-59382) K2: Missing PROTECTED_CONSTRUCTOR_NOT_IN_SUPER_CALL - [`KT-59901`](https://youtrack.jetbrains.com/issue/KT-59901) K2: Disappeared API_NOT_AVAILABLE - [`KT-60474`](https://youtrack.jetbrains.com/issue/KT-60474) K2: False negative type mismatch for array literal with wrong numeric literal - [`KT-59610`](https://youtrack.jetbrains.com/issue/KT-59610) K2: Calls to annotations with default values are serialized differently in K1 and K2 - [`KT-60139`](https://youtrack.jetbrains.com/issue/KT-60139) K2: Refactor handling of implicitly actual declarations (annotation & inline class constructors and property of inline class) - [`KT-60793`](https://youtrack.jetbrains.com/issue/KT-60793) K2: IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirJavaTypeRef - [`KT-60735`](https://youtrack.jetbrains.com/issue/KT-60735) K2: lateinit property diagnostic has not been initialized - [`KT-60137`](https://youtrack.jetbrains.com/issue/KT-60137) K2: Quite complicated redeclaration error description is displayed for data classes - [`KT-60639`](https://youtrack.jetbrains.com/issue/KT-60639) K2: IllegalStateException: Unsupported compile-time value GET_CLASS type=kotlin.reflect.KClass\<p1.A> - [`KT-56888`](https://youtrack.jetbrains.com/issue/KT-56888) CFA: Valid green in K1 -> red in K2. `catch_end -> finally -> after_try` - [`KT-60723`](https://youtrack.jetbrains.com/issue/KT-60723) K2: Nested finally block has extra jump edge if surrounding try block jumps - [`KT-60573`](https://youtrack.jetbrains.com/issue/KT-60573) K2: False positive/negative CONFLICTING_OVERLOADS for main functions - [`KT-60124`](https://youtrack.jetbrains.com/issue/KT-60124) K2: Conflicting declarations on extension properties with different upper-bounded type parameter - [`KT-60259`](https://youtrack.jetbrains.com/issue/KT-60259) K2: Reflection target is missing on adapted function refernces - [`KT-59036`](https://youtrack.jetbrains.com/issue/KT-59036) InstantiationError when instantiating annotation with a parameter type as a default parameter of another annotation - [`KT-59094`](https://youtrack.jetbrains.com/issue/KT-59094) K2: Fix Scripting K2 tests - [`KT-59711`](https://youtrack.jetbrains.com/issue/KT-59711) K/N: Implement enumEntries intrinsic - [`KT-59748`](https://youtrack.jetbrains.com/issue/KT-59748) K2: Return type mismatch: expected Unit, actual Any? for when with an assignment in branch - [`KT-60154`](https://youtrack.jetbrains.com/issue/KT-60154) K2: Expected some types error - [`KT-58139`](https://youtrack.jetbrains.com/issue/KT-58139) K2/MPP/metadata: compiler FIR serialization crash on complex expression as annotation argument - [`KT-59485`](https://youtrack.jetbrains.com/issue/KT-59485) K2: build Anki-Android - [`KT-59415`](https://youtrack.jetbrains.com/issue/KT-59415) K2: Missing DATA_CLASS_OVERRIDE_DEFAULT_VALUES_ERROR - [`KT-59710`](https://youtrack.jetbrains.com/issue/KT-59710) K/JVM: Implement enumEntries intrinsic - [`KT-57984`](https://youtrack.jetbrains.com/issue/KT-57984) K2/JS fails with IdSignature clash for inherited expect/actual function - [`KT-59398`](https://youtrack.jetbrains.com/issue/KT-59398) K2: Missing NOT_SUPPORTED_INLINE_PARAMETER_IN_INLINE_PARAMETER_DEFAULT_VALUE - [`KT-60645`](https://youtrack.jetbrains.com/issue/KT-60645) Native: dynamic caches are broken on Linux - [`KT-50221`](https://youtrack.jetbrains.com/issue/KT-50221) FIR: handle enhanced/flexible nullability inside withNullability properly - [`KT-59281`](https://youtrack.jetbrains.com/issue/KT-59281) JVM IR inline: incorrect type of created array - [`KT-59507`](https://youtrack.jetbrains.com/issue/KT-59507) JVM IR inline: invocation of arrayOfNulls by function reference results in exception - [`KT-58359`](https://youtrack.jetbrains.com/issue/KT-58359) Allow volatile intrinsics on inline function constant arguments - [`KT-60598`](https://youtrack.jetbrains.com/issue/KT-60598) K2: add OptIn checkers for command line arguments - [`KT-59766`](https://youtrack.jetbrains.com/issue/KT-59766) K2: ISE: Cannot find cached type parameter by FIR symbol during the coroutines library build - [`KT-59644`](https://youtrack.jetbrains.com/issue/KT-59644) K2: the companion object in an `expect` class requires to be explicitly defined for compileNativeMainKotlinMetadata - [`KT-59640`](https://youtrack.jetbrains.com/issue/KT-59640) K2: `expect` constructor requires calling `this` or `super` but didn't use to - [`KT-58883`](https://youtrack.jetbrains.com/issue/KT-58883) K2: False negative type mismatch for generic annotation in collection literal - [`KT-59581`](https://youtrack.jetbrains.com/issue/KT-59581) K2: Initializer type mismatch: expected Array\<KClass<\*>>, actual Array\<KClass<out Serializable>> in annotation parameter default value using array literal - [`KT-59069`](https://youtrack.jetbrains.com/issue/KT-59069) K2 does not report EXPECTED_CLASS_CONSTRUCTOR_DELEGATION_CALL - [`KT-59416`](https://youtrack.jetbrains.com/issue/KT-59416) K2: Missing EXTERNAL_INTERFACE_AS_REIFIED_TYPE_ARGUMENT - [`KT-59417`](https://youtrack.jetbrains.com/issue/KT-59417) K2: Missing CALL_FROM_UMD_MUST_BE_JS_MODULE_AND_JS_NON_MODULE - [`KT-59381`](https://youtrack.jetbrains.com/issue/KT-59381) K2: Missing CALL_TO_JS_NON_MODULE_WITH_MODULE_SYSTEM - [`KT-59384`](https://youtrack.jetbrains.com/issue/KT-59384) K2: Missing DYNAMIC_NOT_ALLOWED - [`KT-59406`](https://youtrack.jetbrains.com/issue/KT-59406) K2: Missing PROPERTY_DELEGATION_BY_DYNAMIC - [`KT-60247`](https://youtrack.jetbrains.com/issue/KT-60247) K2: order of data class generated member differs in IR - [`KT-57223`](https://youtrack.jetbrains.com/issue/KT-57223) K2: false-negative INAPPLICABLE_JVM_NAME on non-final properties outside interfaces - [`KT-60183`](https://youtrack.jetbrains.com/issue/KT-60183) K2: INAPPLICABLE_JVM_NAME on private methods with all-open plugin - [`KT-60120`](https://youtrack.jetbrains.com/issue/KT-60120) K2 can't get a default parameter value of expect annotation - [`KT-57240`](https://youtrack.jetbrains.com/issue/KT-57240) K2 MPP: Actualization doesn't work for flexible types - [`KT-60436`](https://youtrack.jetbrains.com/issue/KT-60436) K2: investigate possible FirJavaTypeRef equals parameter in FirDataFlowAnalyzer.hasEqualsOverride - [`KT-60299`](https://youtrack.jetbrains.com/issue/KT-60299) K2: when a typealias to `Unit` is returned, an explicit `return` is now required - [`KT-58005`](https://youtrack.jetbrains.com/issue/KT-58005) K2: Unsupported compile-time value BLOCK for Repeatable annotations - [`KT-60223`](https://youtrack.jetbrains.com/issue/KT-60223) K2: Wrong import with import alias - [`KT-54854`](https://youtrack.jetbrains.com/issue/KT-54854) K2. Unresolved reference for not imported declaration when it is already imported as an import alias is absent in K2 - [`KT-59738`](https://youtrack.jetbrains.com/issue/KT-59738) K2: NoSuchElementException from JvmValueClassLoweringDispatcher in MPP environment - [`KT-59708`](https://youtrack.jetbrains.com/issue/KT-59708) K2: "Property must be initialized or be abstract" occurs due to constructors order - [`KT-58483`](https://youtrack.jetbrains.com/issue/KT-58483) K2. -Xmulti-platform flag isn't working - [`KT-53490`](https://youtrack.jetbrains.com/issue/KT-53490) FIR: Refactor augmented assignment resolving code - fix lhs-related problems and combine similar code in array and assign operator handling - [`KT-59673`](https://youtrack.jetbrains.com/issue/KT-59673) K2: incorrect error message - [`KT-58578`](https://youtrack.jetbrains.com/issue/KT-58578) K2: Commonize expect-actual logic between FIR and IR actualizer - [`KT-54989`](https://youtrack.jetbrains.com/issue/KT-54989) FIR2IR: fragile code in postfix op detection - [`KT-59464`](https://youtrack.jetbrains.com/issue/KT-59464) K2: Investigate cases of implicit type refs in Fir2IrImplicitCastInserter - [`KT-53898`](https://youtrack.jetbrains.com/issue/KT-53898) K2: False negative VAL_REASSIGNMENT on member vals - [`KT-57641`](https://youtrack.jetbrains.com/issue/KT-57641) K2: "java.lang.NoSuchFieldException: INSTANCE" in kotlin-reflect for `KClass.objectInstance` on an anonymous object - [`KT-59299`](https://youtrack.jetbrains.com/issue/KT-59299) \[K2] ISE in IrBindablePublicSymbolBase.bind on equals function from companion of serializable class - [`KT-58844`](https://youtrack.jetbrains.com/issue/KT-58844) Incorrect type mismatch error: "actual type is kotlin/Int but kotlin/Int was expected" - [`KT-59413`](https://youtrack.jetbrains.com/issue/KT-59413) K2: Missing VALUE_CLASS_CANNOT_HAVE_CONTEXT_RECEIVERS - [`KT-56173`](https://youtrack.jetbrains.com/issue/KT-56173) FIR: IrGenerationExtensions cannot see default values from expect declarations - [`KT-59611`](https://youtrack.jetbrains.com/issue/KT-59611) FIR2IR: Unsupported callable reference for enum entry with clashing name - [`KT-59858`](https://youtrack.jetbrains.com/issue/KT-59858) Kotlin Native: Compilation failed: Sequence contains more than one matching element, org.jetbrains.kotlin.backend.konan.lower.FunctionReferenceLowering$FunctionReferenceBuilder.buildClass(FunctionReferenceLowering.kt:644) - [`KT-58539`](https://youtrack.jetbrains.com/issue/KT-58539) \[K2] Ir actualization fails to match expect/actual declarations that use custom function types - [`KT-59775`](https://youtrack.jetbrains.com/issue/KT-59775) 'toString()' on Object returns different result with concatenation - [`KT-59737`](https://youtrack.jetbrains.com/issue/KT-59737) K2: Actual class 'actual class FastArrayList<E> : AbstractMutableList<E>, MutableListEx<E>, RandomAccess' has no corresponding members for expected class members because of different parameter names in Java - [`KT-59613`](https://youtrack.jetbrains.com/issue/KT-59613) K2: Unhandled intrinsic in ExpressionCodegen exception in for expect function with default value in parameter - [`KT-59216`](https://youtrack.jetbrains.com/issue/KT-59216) K2. Unhelpful unresolved reference when inheriting from interface with constructor call (K1 reports NO_CONSTRUCTOR instead) - [`KT-59057`](https://youtrack.jetbrains.com/issue/KT-59057) Revise muted tests for native backend - [`KT-57377`](https://youtrack.jetbrains.com/issue/KT-57377) K2/MPP: internal declarations from common module are inivisible for intermediate modules during metadata compilation - [`KT-59693`](https://youtrack.jetbrains.com/issue/KT-59693) MPP: linkReleaseExecutableLinux fails with IllegalStateException: Drains have not been painted properly - [`KT-59362`](https://youtrack.jetbrains.com/issue/KT-59362) K2/MPP: `.toByte()` conversion for const val causes SourceCodeAnalysisException: java.lang.NullPointerException: null - [`KT-51670`](https://youtrack.jetbrains.com/issue/KT-51670) FIR: questionable behavior for deprecated String constructors - [`KT-35314`](https://youtrack.jetbrains.com/issue/KT-35314) StackOverflowError with nested try-finally and function with contracts - [`KT-53460`](https://youtrack.jetbrains.com/issue/KT-53460) False positive smartcast warning in if block after if block - [`KT-40851`](https://youtrack.jetbrains.com/issue/KT-40851) False MUST_BE_INITIALIZED_OR_BE_ABSTRACT error for a property which is initialised in the init block - [`KT-59695`](https://youtrack.jetbrains.com/issue/KT-59695) K2: false negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE - [`KT-41198`](https://youtrack.jetbrains.com/issue/KT-41198) False positive “Variable must be initialized” with assignment in scope function and safe call - [`KT-58901`](https://youtrack.jetbrains.com/issue/KT-58901) K2. Value parameter default values are not checked for type mismatch - [`KT-48115`](https://youtrack.jetbrains.com/issue/KT-48115) Member functions with type parameter and contract don't produce smartcasts - [`KT-59541`](https://youtrack.jetbrains.com/issue/KT-59541) K2: Type checking has run into a recursive problem on code that was compiling with Language 1.9 - [`KT-58943`](https://youtrack.jetbrains.com/issue/KT-58943) K2: Incorrect with K1 priority of "invokeExtension + implicit receiver" candidate - [`KT-37375`](https://youtrack.jetbrains.com/issue/KT-37375) \[FIR] Incorrect invoke resolution - [`KT-59789`](https://youtrack.jetbrains.com/issue/KT-59789) K2: self-reference does not compile anymore - [`KT-59286`](https://youtrack.jetbrains.com/issue/KT-59286) JVM IR inline: local property not found - [`KT-58823`](https://youtrack.jetbrains.com/issue/KT-58823) K2: Android app crashes right after start: java.lang.NoSuchMethodError: No virtual method findViewById(I)Landroid/view/View - [`KT-57754`](https://youtrack.jetbrains.com/issue/KT-57754) K2: No public signature built for the synthesized delegate field - [`KT-58533`](https://youtrack.jetbrains.com/issue/KT-58533) K2: "Not enough information to infer type variable T" for generic call in throw expression - [`KT-34846`](https://youtrack.jetbrains.com/issue/KT-34846) FIR Java: enhance type parameter bounds properly - [`KT-52043`](https://youtrack.jetbrains.com/issue/KT-52043) FIR: FirValueParameter with SubstitutionOverride does not reference the original FIR declaration - [`KT-59291`](https://youtrack.jetbrains.com/issue/KT-59291) JVM IR inline: unexpected result of `apiVersionIsAtLeast` invocation - [`KT-59550`](https://youtrack.jetbrains.com/issue/KT-59550) K2: synthetic property isn't seen through Java - [`KT-59038`](https://youtrack.jetbrains.com/issue/KT-59038) \[K2] IllegalStateException in mixed Java/Kotlin inheritance - [`KT-59489`](https://youtrack.jetbrains.com/issue/KT-59489) K2: builld spring-petclinic-kotlin - [`KT-58908`](https://youtrack.jetbrains.com/issue/KT-58908) K2. Internal error "kotlin.UninitializedPropertyAccessException: lateinit property firType has not been initialized" on incomplete `is` - [`KT-56755`](https://youtrack.jetbrains.com/issue/KT-56755) K2: Investigate failures related to line numbers with LT compilation enabled - [`KT-56139`](https://youtrack.jetbrains.com/issue/KT-56139) K2: consider adding source element for implicit receivers - [`KT-57489`](https://youtrack.jetbrains.com/issue/KT-57489) K2: Incorrectly generated line numbers in companion object access inside class - [`KT-58947`](https://youtrack.jetbrains.com/issue/KT-58947) Run all existing codegen box tests with kapt stub generation - [`KT-58827`](https://youtrack.jetbrains.com/issue/KT-58827) K2 reports ACTUAL_WITHOUT_EXPECT on the whole class - [`KT-54917`](https://youtrack.jetbrains.com/issue/KT-54917) K2: ILT leak from a completed generic call - [`KT-56187`](https://youtrack.jetbrains.com/issue/KT-56187) K2: type parameter's upper bound is ignored in callable references - [`KT-56186`](https://youtrack.jetbrains.com/issue/KT-56186) K2: lack of type arguments in type constructor is ignored in callable references - [`KT-59356`](https://youtrack.jetbrains.com/issue/KT-59356) K2: Restrict rules for matching of expect supertypes for actual class - [`KT-57217`](https://youtrack.jetbrains.com/issue/KT-57217) K2: NoSuchMethodError on `toChar` call on java inheritor of java.lang.Number - [`KT-58356`](https://youtrack.jetbrains.com/issue/KT-58356) K2: StackOverflowError with OptIn and Deprecated, while compiling Kotlin project - [`KT-57954`](https://youtrack.jetbrains.com/issue/KT-57954) K2. Auto-generated "entries" member of enum class has higher priority than user-declared companion object with same name when language version is set to 2.0 - [`KT-59508`](https://youtrack.jetbrains.com/issue/KT-59508) K2: Make sure that warnings-severity nullability annotations are not perceived as reasons for nullability errors - [`KT-53820`](https://youtrack.jetbrains.com/issue/KT-53820) FIR: mismatching error message for invisible reference/member - [`KT-58641`](https://youtrack.jetbrains.com/issue/KT-58641) K2: PublishedApi has no effect when internal fun used in the test source set - [`KT-59461`](https://youtrack.jetbrains.com/issue/KT-59461) K2: Erroneous null check when returning not-null typealias to nullable type - [`KT-58980`](https://youtrack.jetbrains.com/issue/KT-58980) K2: Import of java field from companion's base breaks the compiler - [`KT-59140`](https://youtrack.jetbrains.com/issue/KT-59140) K2: "Symbol public final static field is invisible" caused by java static field called in kotlin code - [`KT-59501`](https://youtrack.jetbrains.com/issue/KT-59501) Escape analysis constructs arrays of negative size - [`KT-59452`](https://youtrack.jetbrains.com/issue/KT-59452) apiVersionIsAtLeast calls in body of stdlib inline function may be evaluated on compile-time - [`KT-53967`](https://youtrack.jetbrains.com/issue/KT-53967) \[PL] Classifiers: Turning interface from fun to non-fun + adding member function causes Kotlin/JS fail: IAE: "Sequence contains more than one matching element" - [`KT-59346`](https://youtrack.jetbrains.com/issue/KT-59346) Not working breakpoints on not initialized variables - [`KT-55993`](https://youtrack.jetbrains.com/issue/KT-55993) Wrong current pointer: strange behaviour of debugger or compiler when two IFs and an uninitialized variable between them - [`KT-58335`](https://youtrack.jetbrains.com/issue/KT-58335) K2: Exposed typealias from implementation dependency produces type mismatch in dependent module - [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class - [`KT-57694`](https://youtrack.jetbrains.com/issue/KT-57694) K2: False positive \[NOTHING_TO_OVERRIDE] for a class overriding 'sort' method from the List collection - [`KT-58460`](https://youtrack.jetbrains.com/issue/KT-58460) K2. return without argument became allowed for functions with return type Any - [`KT-49249`](https://youtrack.jetbrains.com/issue/KT-49249) Incorrect nullability inferred for Throwable - [`KT-57429`](https://youtrack.jetbrains.com/issue/KT-57429) K2: Fix computing a mangled name for members of a generic class that reference the class's type parameters in their signature - [`KT-57566`](https://youtrack.jetbrains.com/issue/KT-57566) K2: Fix name mangling for functions that have dynamic type in their signature - [`KT-57818`](https://youtrack.jetbrains.com/issue/KT-57818) K2: Fix FirMangleComputer to not include the "special" package name into mangled names of property accessors on non-JVM platforms - [`KT-57777`](https://youtrack.jetbrains.com/issue/KT-57777) K2: Fix computing a mangled name for the synthesized `entries` property getter of an enum class - [`KT-57433`](https://youtrack.jetbrains.com/issue/KT-57433) K2: Fix computing a mangled name for top-level functions and properties - [`KT-58553`](https://youtrack.jetbrains.com/issue/KT-58553) k2: Annotation type arguments are lost in FIR2IR - [`KT-58184`](https://youtrack.jetbrains.com/issue/KT-58184) K2: False negative INVISIBLE_MEMBER on destructuring declaration - [`KT-58637`](https://youtrack.jetbrains.com/issue/KT-58637) K2: False negative ABSTRACT_MEMBER_NOT_IMPLEMENTED on Entry of Enum with abstract member declaration - [`KT-54952`](https://youtrack.jetbrains.com/issue/KT-54952) JvmSerializationBindings does not work with K2 - [`KT-54844`](https://youtrack.jetbrains.com/issue/KT-54844) FIR/Analysis API: create stubs for equals/hashCode/toString for data classes in FIR - [`KT-58555`](https://youtrack.jetbrains.com/issue/KT-58555) K2: Generic property reference inside delegation misses type argument - [`KT-57648`](https://youtrack.jetbrains.com/issue/KT-57648) FIR: move deprecation calculation on COMPILER_REQUIRED_ANNOTATIONS phase - [`KT-57049`](https://youtrack.jetbrains.com/issue/KT-57049) K2 generates duplicates of symbols/declarations - [`KT-55723`](https://youtrack.jetbrains.com/issue/KT-55723) K2: deprecations for enum entries are not resolved on the TYPES phase - [`KT-59033`](https://youtrack.jetbrains.com/issue/KT-59033) Doesn’t support vararg parameter in annotation instantiation with empty arguments - [`KT-58780`](https://youtrack.jetbrains.com/issue/KT-58780) JVM IR inline: local property delegation is not working for K2 - [`KT-58779`](https://youtrack.jetbrains.com/issue/KT-58779) JVM IR inline: correctly process special inlined block in value class lowering - [`KT-58720`](https://youtrack.jetbrains.com/issue/KT-58720) Generate full InnerClass attributes for the standard library - [`KT-58215`](https://youtrack.jetbrains.com/issue/KT-58215) K2: JVM IR produces line numbers for delegation bridges that are not marked with ACC_BRIDGE - [`KT-42696`](https://youtrack.jetbrains.com/issue/KT-42696) JVM IR generates line numbers for all bridges leading to extra steps in the debugger - [`KT-57228`](https://youtrack.jetbrains.com/issue/KT-57228) K2: annotations for interface member properties implemented by delegation are copied - [`KT-57216`](https://youtrack.jetbrains.com/issue/KT-57216) K2: non-trivial enum declaration does not have ACC_FINAL in the bytecode - [`KT-55866`](https://youtrack.jetbrains.com/issue/KT-55866) K2: Constant as parameter of `@JvmName`: BE: "Unsupported compile-time value CALL private final fun <get-TAG>" - [`KT-58717`](https://youtrack.jetbrains.com/issue/KT-58717) Object on the left-hand side of callable reference is not initialized if `KCallable.name` optimization is used - [`KT-59211`](https://youtrack.jetbrains.com/issue/KT-59211) Kapt+JVM_IR: AssertionError on delegating to anonymous object - [`KT-57251`](https://youtrack.jetbrains.com/issue/KT-57251) K2: weird error message when trying to instantiate an `expect` class without explicit constructor - [`KT-58623`](https://youtrack.jetbrains.com/issue/KT-58623) Language version 2.0: compiling into common, Native does not report "Protected function call from public-API inline function is prohibited", while JVM, JS do - [`KT-55945`](https://youtrack.jetbrains.com/issue/KT-55945) NoSuchMethodError when calling method with value class parameter on java class inherited from kotlin class - [`KT-58840`](https://youtrack.jetbrains.com/issue/KT-58840) K1/K2: false positive EXPOSED_FUNCTION_RETURN_TYPE related to protected lower bound - [`KT-57243`](https://youtrack.jetbrains.com/issue/KT-57243) K2: no warning or error reported on expect class in CLI, and JVM backend tries to generate it to a .class file - [`KT-57833`](https://youtrack.jetbrains.com/issue/KT-57833) K2 reports NO_ACTUAL_FOR_EXPECT for inherited properties with the same name - [`KT-58153`](https://youtrack.jetbrains.com/issue/KT-58153) K2/MPP/JVM\&Native: cannot override Any::toString when an expect-supertype has Any::toString override in actual-class - [`KT-58124`](https://youtrack.jetbrains.com/issue/KT-58124) K2: FIR2IR compiler crash with MPP (Fir2IrSimpleFunctionSymbol is already bound) - [`KT-58346`](https://youtrack.jetbrains.com/issue/KT-58346) k2: false negative MUST_BE_INITIALIZED for deferred initialization - [`KT-57803`](https://youtrack.jetbrains.com/issue/KT-57803) K2. "Kotlin: Only the Kotlin standard library is allowed to use the 'kotlin' package" error missing in 2.0 - [`KT-57504`](https://youtrack.jetbrains.com/issue/KT-57504) \[K2/N] Wrong coercion of `ILT: 7` to kotlinx.cinterop.COpaquePointer causes `Cannot adapt kotlin.Int to kotlinx.cinterop.CPointer` during autoboxing - [`KT-57484`](https://youtrack.jetbrains.com/issue/KT-57484) K2: false positive OVERLOAD_RESOLUTION_AMBIGUITY with ImplicitIntegerCoercion - [`KT-57971`](https://youtrack.jetbrains.com/issue/KT-57971) K1/K2: False positive "Redundant 'suspend' modifier" warning on declaration site when suspend function is also argument - [`KT-56779`](https://youtrack.jetbrains.com/issue/KT-56779) Checkers false negative: AbstractMethodError when accessing setter via an interface where the member is defined as var, but it's val in implementation - [`KT-51793`](https://youtrack.jetbrains.com/issue/KT-51793) FIR: Investigate property+invoke resolution priorities - [`KT-57003`](https://youtrack.jetbrains.com/issue/KT-57003) FIR: missing annotation on parameter of `data` class' synthetic `copy` - [`KT-57269`](https://youtrack.jetbrains.com/issue/KT-57269) K2: collection stub for `sort` is not generated for custom List subclasses - [`KT-54748`](https://youtrack.jetbrains.com/issue/KT-54748) K2: incomprehensible errors when type parameter has the same name as a class - [`KT-50703`](https://youtrack.jetbrains.com/issue/KT-50703) FIR: Improve reporting UPPER_BOUND_VIOLATED for type arguments of typealias constructor calls - [`KT-57622`](https://youtrack.jetbrains.com/issue/KT-57622) Fix incorrect metadata for data class generated methods - [`KT-54887`](https://youtrack.jetbrains.com/issue/KT-54887) K2: fix behavior of references to value classes equals/hashCode/toString - [`KT-58937`](https://youtrack.jetbrains.com/issue/KT-58937) K2: Annotation vararg arguments are incorrectly serialized - [`KT-58621`](https://youtrack.jetbrains.com/issue/KT-58621) K2: Private class shadows public function defined in the same package - [`KT-59041`](https://youtrack.jetbrains.com/issue/KT-59041) K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource <implicit>" on incorrect collection declaration - [`KT-58665`](https://youtrack.jetbrains.com/issue/KT-58665) K2: Optional.of incorrectly accepts nullable String - [`KT-58938`](https://youtrack.jetbrains.com/issue/KT-58938) K2. Abstract class can be invoked using member reference `::` operator - [`KT-50798`](https://youtrack.jetbrains.com/issue/KT-50798) FIR: False negative UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION - [`KT-58944`](https://youtrack.jetbrains.com/issue/KT-58944) K2. StackOverflowError on incorrect intersection types - [`KT-59241`](https://youtrack.jetbrains.com/issue/KT-59241) K2: broken inference of DNN types - [`KT-58294`](https://youtrack.jetbrains.com/issue/KT-58294) K2 compiler crashes with OOM on deserializing annotation applied to itself with a enum outer/nested parameter - [`KT-58972`](https://youtrack.jetbrains.com/issue/KT-58972) K2: Error message of PRIVATE_CLASS_MEMBER_FROM_INLINE doesn't mention class members - [`KT-58989`](https://youtrack.jetbrains.com/issue/KT-58989) K2: Forbid suspend operator get/setValue and provideDelegate - [`KT-59177`](https://youtrack.jetbrains.com/issue/KT-59177) K2: Report NAMED_ARGUMENTS_NOT_ALLOWED for named parameters in lambdas - [`KT-57028`](https://youtrack.jetbrains.com/issue/KT-57028) K2: "NSEE: Sequence contains no element matching the predicate" with stream related Java api - [`KT-58007`](https://youtrack.jetbrains.com/issue/KT-58007) K2: Unsupported compile-time value GET_FIELD FIELD PROPERTY_BACKING_FIELD when const value is default for annotation - [`KT-58472`](https://youtrack.jetbrains.com/issue/KT-58472) Secondary constructor breaks MUST_BE_INITIALIZED check - [`KT-59022`](https://youtrack.jetbrains.com/issue/KT-59022) Make is and as behaviour consistent in Native - [`KT-58902`](https://youtrack.jetbrains.com/issue/KT-58902) K2: Calls to overridden method with default parameter are not compiled - [`KT-58549`](https://youtrack.jetbrains.com/issue/KT-58549) K2: variable type is infered to non-existing interface - [`KT-58613`](https://youtrack.jetbrains.com/issue/KT-58613) K2: ConcurrentModificationException from FirSignatureEnhancement.performFirstRoundOfBoundsResolution - [`KT-55552`](https://youtrack.jetbrains.com/issue/KT-55552) K2. False negative TYPE_MISMATCH in implementation via delegation - [`KT-57436`](https://youtrack.jetbrains.com/issue/KT-57436) Fix computing mangled names of generic properties from IR-based declaration descriptors - [`KT-58543`](https://youtrack.jetbrains.com/issue/KT-58543) \[K2/N] Rewrite native MPP tests to avoid expect actual in same module - [`KT-57701`](https://youtrack.jetbrains.com/issue/KT-57701) Unify selection of inherited callable with default implementation among multiple candidates in JVM, Native & JS backends - [`KT-58444`](https://youtrack.jetbrains.com/issue/KT-58444) K2/MPP/metadata: compiler FIR2IR crash on constant with intrinsic initializer from common source set in Native-shared source set - [`KT-57756`](https://youtrack.jetbrains.com/issue/KT-57756) K2: Missing syntax errors when light tree parsing is used - [`KT-57435`](https://youtrack.jetbrains.com/issue/KT-57435) Fix computing mangled names for functions with context receivers - [`KT-57219`](https://youtrack.jetbrains.com/issue/KT-57219) K2: incorrect relative order of normal and use-site-targeted annotations on property getter in the resulting bytecode - [`KT-57955`](https://youtrack.jetbrains.com/issue/KT-57955) K2: "ClassCastException: class org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl cannot be cast to class org.jetbrains.kotlin.ir.declarations.IrDeclaration" with property delegate - [`KT-58583`](https://youtrack.jetbrains.com/issue/KT-58583) K2: false-positive invisible reference error on nested anonymous object literal extending a protected nested class - [`KT-57425`](https://youtrack.jetbrains.com/issue/KT-57425) K2: False-positive smartcast on property accessed through a property from another module - [`KT-57844`](https://youtrack.jetbrains.com/issue/KT-57844) K2. Not relevant errors when accessing Java member which have private overloads with argument type mismatch - [`KT-58584`](https://youtrack.jetbrains.com/issue/KT-58584) K2: "UninitializedPropertyAccessException: lateinit property packageFqName has not been initialized" - [`KT-58529`](https://youtrack.jetbrains.com/issue/KT-58529) K2: "Extension function type is not allowed as supertypes" compile error - [`KT-58379`](https://youtrack.jetbrains.com/issue/KT-58379) K2: NEW_INFERENCE_ERROR in sortedBy call with exception in branch - [`KT-58284`](https://youtrack.jetbrains.com/issue/KT-58284) K2: False negative ITERATOR_MISSING - [`KT-55078`](https://youtrack.jetbrains.com/issue/KT-55078) K2 IDE: Infinite recursion in `org.jetbrains.kotlin.fir.java.JavaScopeProvider#findJavaSuperClass` - [`KT-58080`](https://youtrack.jetbrains.com/issue/KT-58080) K2: False-positive TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on annotated const val - [`KT-58674`](https://youtrack.jetbrains.com/issue/KT-58674) K2: No expected type for while loop condition - [`KT-56523`](https://youtrack.jetbrains.com/issue/KT-56523) K2 should report MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED - [`KT-58238`](https://youtrack.jetbrains.com/issue/KT-58238) Support dumping signatures and mangled names in irText tests - [`KT-58456`](https://youtrack.jetbrains.com/issue/KT-58456) K2: Custom function type metadata breaks Compose library compatibility - [`KT-58267`](https://youtrack.jetbrains.com/issue/KT-58267) K/N: do not reference hidden Array.content\* functions from the compiler - [`KT-57791`](https://youtrack.jetbrains.com/issue/KT-57791) Native: Method returning String? leads to exception: Unexpected receiver type: kotlin.String - [`KT-58437`](https://youtrack.jetbrains.com/issue/KT-58437) K2: Do not use descriptors in KonanSymbols - [`KT-57432`](https://youtrack.jetbrains.com/issue/KT-57432) K2: Don't create default getters and setters in case when they are not needed - [`KT-46047`](https://youtrack.jetbrains.com/issue/KT-46047) FIR: incorrect type of integer literals - [`KT-57487`](https://youtrack.jetbrains.com/issue/KT-57487) \[K2/N] Stdlib ArraysTest fails with `Class found but error nodes are not allowed` - [`KT-56951`](https://youtrack.jetbrains.com/issue/KT-56951) K2: False negative error on compound assignment for property of type Byte - [`KT-57222`](https://youtrack.jetbrains.com/issue/KT-57222) K2: compiler FIR serialization crash on two functions with captured type and object literal - [`KT-58224`](https://youtrack.jetbrains.com/issue/KT-58224) K2: deprecation on field is not detected properly - [`KT-55662`](https://youtrack.jetbrains.com/issue/KT-55662) K2. Incorrect type mismatch error "inferred type is IOT" instead of "inferred type is Int" - [`KT-55668`](https://youtrack.jetbrains.com/issue/KT-55668) K2. 'in' modifier became applicable to star projection - [`KT-57064`](https://youtrack.jetbrains.com/issue/KT-57064) K2: hidden internals of dealing with type-aliased primitive types are exposed to user - [`KT-58252`](https://youtrack.jetbrains.com/issue/KT-58252) K2: Symbol already bound for backing field during building resulting JS artifact for MPP project - [`KT-56940`](https://youtrack.jetbrains.com/issue/KT-56940) K/Wasm: report compiler errors for unsupported external declarations - [`KT-56943`](https://youtrack.jetbrains.com/issue/KT-56943) K/Wasm: implement `@WasmImport` diagnostics - [`KT-55903`](https://youtrack.jetbrains.com/issue/KT-55903) K2: False negative CANNOT_CHECK_FOR_ERASED on is-check for type with reified type arguments - [`KT-56944`](https://youtrack.jetbrains.com/issue/KT-56944) K/Wasm: implement `@JsFun` diagnostics - [`KT-58329`](https://youtrack.jetbrains.com/issue/KT-58329) K2: False-positive suspend conversion for anonymous functions - [`KT-58028`](https://youtrack.jetbrains.com/issue/KT-58028) K2: False-positive TYPE_PARAMETER_IS_NOT_AN_EXPRESSION ##### Docs & Examples - [`KT-60545`](https://youtrack.jetbrains.com/issue/KT-60545) Documentation change on Interoperability with Swift/Objective-C: highlight that it is not normal to suppress errors - [`KT-50927`](https://youtrack.jetbrains.com/issue/KT-50927) Kotlin / Docs: Delete all the information about old Kotlin/Wasm - [`KT-61398`](https://youtrack.jetbrains.com/issue/KT-61398) Advertise hierarchy templates in 1.9.20-Beta what's new ##### IDE ##### New Features - [`KTIJ-23199`](https://youtrack.jetbrains.com/issue/KTIJ-23199) K2 IDE: Improve Import quick fix description - [`KTIJ-26056`](https://youtrack.jetbrains.com/issue/KTIJ-26056) Support highlighting of KNM files ##### Performance Improvements - [`KTIJ-26688`](https://youtrack.jetbrains.com/issue/KTIJ-26688) UAST: optimize methodNameCanBeOneOf ##### Fixes - [`KTIJ-26782`](https://youtrack.jetbrains.com/issue/KTIJ-26782) Internal error while highlighting "AndroidHighlighterExtension does not define or inherit highlightDeclaration" - [`KTIJ-27188`](https://youtrack.jetbrains.com/issue/KTIJ-27188) Bundled DevKit plugin + 1.9.20-Beta\* constantly throws exceptions when opening another plugin codebase - [`KTIJ-25220`](https://youtrack.jetbrains.com/issue/KTIJ-25220) Kotlin not configured dialog does not show if Kotlin stdlib is anywhere on classpath - [`KTIJ-25563`](https://youtrack.jetbrains.com/issue/KTIJ-25563) Failed cinterop task becomes UP-TO-DATE and successfully passes on the second import - [`KTIJ-26536`](https://youtrack.jetbrains.com/issue/KTIJ-26536) IDE in Java file resolves to property with the same name instead of method in the nested class from library - [`KTIJ-25126`](https://youtrack.jetbrains.com/issue/KTIJ-25126) K2 IDE. No import quickfix for Java static members - [`KT-60341`](https://youtrack.jetbrains.com/issue/KT-60341) K2 IDE: "UnsupportedOperationException: Unknown type CapturedType(\*)?" - [`KTIJ-25960`](https://youtrack.jetbrains.com/issue/KTIJ-25960) K2 IDE: KDoc references to static java methods are not resolved - [`KTIJ-7642`](https://youtrack.jetbrains.com/issue/KTIJ-7642) HMPP, IDE: False positive ''suspend' modifier is not allowed on a single abstract member' for common code if JVM target present - [`KTIJ-25745`](https://youtrack.jetbrains.com/issue/KTIJ-25745) K2 IDE: "Type info" intention shows the return type of a functional type instead of the functional type itself - [`KTIJ-26501`](https://youtrack.jetbrains.com/issue/KTIJ-26501) K2: IDE K2: False positive unused import when declaration used for vararg parameter type - [`KTIJ-26661`](https://youtrack.jetbrains.com/issue/KTIJ-26661) K2 IDE. PIEAE “Element class CompositeElement of type FUN” after removing/putting back function with operator modifier - [`KTIJ-26672`](https://youtrack.jetbrains.com/issue/KTIJ-26672) K2 IDE: false positive in optimize import for ambiguity calls - [`KTIJ-26760`](https://youtrack.jetbrains.com/issue/KTIJ-26760) K2 IDE: OVERLOAD_RESOLUTION_AMBIGUITY false positive - [`KTIJ-26867`](https://youtrack.jetbrains.com/issue/KTIJ-26867) K2 IDE: rename refactoring doesn't rename subclasses if they are used in import directives - [`KTIJ-26848`](https://youtrack.jetbrains.com/issue/KTIJ-26848) K2 IDE: index inconsistency in case of "<no name provided>" name - [`KTIJ-26666`](https://youtrack.jetbrains.com/issue/KTIJ-26666) K2 IDE: changed FirFile is treated as fully resolved after in-block modification - [`KT-59836`](https://youtrack.jetbrains.com/issue/KT-59836) Symbol Light Classes: Type parameters from the parent interface aren't copied to DefaultImpls methods - [`KT-28611`](https://youtrack.jetbrains.com/issue/KT-28611) MPP: Gradle -> IDE: settings provided via `compilations` DSL are not imported into common modules facets - [`KTIJ-25448`](https://youtrack.jetbrains.com/issue/KTIJ-25448) When project JDK is less than one defines in jvmToolchain block, run with Idea fails with `has been compiled by a more recent version of the Java Runtime` - [`KT-60603`](https://youtrack.jetbrains.com/issue/KT-60603) K2: Investigate intellij tests failures in branch 2.0 - [`KTIJ-25364`](https://youtrack.jetbrains.com/issue/KTIJ-25364) K2 IDE: References to Java records are red: OVERLOAD_RESOLUTION_AMBIGUITY, UNRESOLVED_REFERENCE - [`KTIJ-24390`](https://youtrack.jetbrains.com/issue/KTIJ-24390) Kotlin assignment plugin: Imports are not recognized in build logic .kt files for Gradle build - [`KT-60590`](https://youtrack.jetbrains.com/issue/KT-60590) Fix light classes related tests in branch 2.0 - [`KT-60530`](https://youtrack.jetbrains.com/issue/KT-60530) K2 scripting: exception on .gradle.kts opening - [`KT-60539`](https://youtrack.jetbrains.com/issue/KT-60539) K2: "KtInaccessibleLifetimeOwnerAccessException: org.jetbrains.kotlin.analysis.api.lifetime.KtReadActionConfinementLifetimeToken`@3ce52fd9` is inaccessible: Using KtLifetimeOwner from previous analysis" at highlighting - [`KTIJ-26276`](https://youtrack.jetbrains.com/issue/KTIJ-26276) K2 IDE: Optimize import drops used import alias - [`KT-60518`](https://youtrack.jetbrains.com/issue/KT-60518) K2 IDE. False positive \[NON_MEMBER_FUNCTION_NO_BODY] when completing function with `Complete current statement` - [`KT-60323`](https://youtrack.jetbrains.com/issue/KT-60323) K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" exception on contract return type - [`KT-60352`](https://youtrack.jetbrains.com/issue/KT-60352) K2 IDE. Support Java Records - [`KT-56503`](https://youtrack.jetbrains.com/issue/KT-56503) K2 IDE: FIR tree is incorrect in a case of ProcessCancelledException was thrown during phase execution - [`KTIJ-25653`](https://youtrack.jetbrains.com/issue/KTIJ-25653) K2 IDE. "KotlinExceptionWithAttachments: Containing function should be not null for KtParameter" exception on incorrect derived class declaration - [`KT-59843`](https://youtrack.jetbrains.com/issue/KT-59843) SLC: `KotlinAsJavaSupport.packageExists` (via `KotlinStaticPackageProvider`) said ROOT package doesn't exist if no `KtFile`s are given - [`KTIJ-26206`](https://youtrack.jetbrains.com/issue/KTIJ-26206) Support retrieving KtType from annotation constructor calls on getters and setters - [`KT-59445`](https://youtrack.jetbrains.com/issue/KT-59445) Recursion detected on input: JavaAnnotationImpl - [`KTIJ-26066`](https://youtrack.jetbrains.com/issue/KTIJ-26066) K2 IDE. "KotlinExceptionWithAttachments: Unexpected returnTypeRef. Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImpl" on attempt to set contract - [`KTIJ-26085`](https://youtrack.jetbrains.com/issue/KTIJ-26085) K2 IDE: treat psi modification of a contact inside a body as OOBM - [`KTIJ-25869`](https://youtrack.jetbrains.com/issue/KTIJ-25869) K2 IDE. Expected FirResolvedTypeRef for return type of FirValueParameterImpl(Source) but FirImplicitTypeRefImplWithoutSource was found - [`KTIJ-24272`](https://youtrack.jetbrains.com/issue/KTIJ-24272) K2 IDE: "Expected some types" - [`KTIJ-24730`](https://youtrack.jetbrains.com/issue/KTIJ-24730) K2 IDE. IllegalStateException on absence of opening bracket in main() function - [`KT-59533`](https://youtrack.jetbrains.com/issue/KT-59533) AA/SLC: anonymous object appears during PsiType conversion, resulting in IllegalArgumentException:KtFirPsiTypeProviderKt.asPsiTypeElement - [`KT-59563`](https://youtrack.jetbrains.com/issue/KT-59563) Symbol Light Classes: Incorrect type erasure in $annotations methods for extension properties with generic parameters - [`KT-57567`](https://youtrack.jetbrains.com/issue/KT-57567) SLC: missing `final` modifier on enum (non-synthetic) members - [`KT-59537`](https://youtrack.jetbrains.com/issue/KT-59537) SLC: SymbolLightClassForAnonymousObject with null parent - [`KTIJ-24121`](https://youtrack.jetbrains.com/issue/KTIJ-24121) K2 IDE. "failed to convert element KtLightField" when trying to declare property after function that has return with type mismatch - [`KTIJ-25335`](https://youtrack.jetbrains.com/issue/KTIJ-25335) K2 IDE. "failed to convert element KtLightField:<no name provided>" on attempt to set property in class with constructor - [`KT-59293`](https://youtrack.jetbrains.com/issue/KT-59293) Symbol Light Classes: DefaultImpls methods must be static and have an additional $this parameter - [`KTIJ-25976`](https://youtrack.jetbrains.com/issue/KTIJ-25976) K2 IDE: Fix "Unsupported compiled declaration of type" for type parameters - [`KT-59325`](https://youtrack.jetbrains.com/issue/KT-59325) Symbol Light Classes: Non-existing fields for properties from companion objects - [`KT-57579`](https://youtrack.jetbrains.com/issue/KT-57579) SLC: unboxed type argument as method return type - [`KT-54804`](https://youtrack.jetbrains.com/issue/KT-54804) Generate synthetic functions for annotations on properties in light classes - [`KT-56200`](https://youtrack.jetbrains.com/issue/KT-56200) Kotlin FIR reference resolve exception leaks user code - [`KT-58448`](https://youtrack.jetbrains.com/issue/KT-58448) K2 / IDE / SLC: `findAttributeValue` for attribute w/ default value raises ClassCastException ##### IDE. Completion ##### Fixes - [`KTIJ-26518`](https://youtrack.jetbrains.com/issue/KTIJ-26518) K2 IDE: Code completion does not insert import when completing a type in the vararg position - [`KTIJ-26713`](https://youtrack.jetbrains.com/issue/KTIJ-26713) K2 IDE: Code completion does not insert import when completing a type inside a functional type - [`KTIJ-26597`](https://youtrack.jetbrains.com/issue/KTIJ-26597) K2 IDE: "Change return type" quick fix adds full qualified name to anonymous function - [`KTIJ-26384`](https://youtrack.jetbrains.com/issue/KTIJ-26384) K2 IDE: Extension functions completion should recognize context receivers - [`KTIJ-26419`](https://youtrack.jetbrains.com/issue/KTIJ-26419) K2 IDE: Completion in anonymous function inside when branch expression does not account for smart cast - [`KTIJ-26629`](https://youtrack.jetbrains.com/issue/KTIJ-26629) K2 IDE: Completion of types in anonymous function return is not shortened - [`KTIJ-26599`](https://youtrack.jetbrains.com/issue/KTIJ-26599) K2 IDE: Typing `do ... while` statement: InvalidFirElementTypeException: "For DO_WHILE with text... FirExpression expected, but FirDoWhileLoopImpl found" - [`KTIJ-26113`](https://youtrack.jetbrains.com/issue/KTIJ-26113) K2 IDE: Completion in when branch does not account for smart casts if `else` branch is present - [`KT-60451`](https://youtrack.jetbrains.com/issue/KT-60451) K2 IDE: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtProperty, fir is class org.jetbrains.kotlin.fir.expressions.impl.FirBlockImpl - [`KTIJ-21103`](https://youtrack.jetbrains.com/issue/KTIJ-21103) FIR IDE: implement completion In Kdoc - [`KTIJ-24096`](https://youtrack.jetbrains.com/issue/KTIJ-24096) K2 IDE: Completion should insert the fully-qualified class name when the short class name clashes with a name from scope - [`KTIJ-25116`](https://youtrack.jetbrains.com/issue/KTIJ-25116) K2 IDE: Name shortening in constructor's parameters affects constructor - [`KTIJ-19863`](https://youtrack.jetbrains.com/issue/KTIJ-19863) Bad completion variants inside annotations ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-26706`](https://youtrack.jetbrains.com/issue/KTIJ-26706) Bytecode viewer: "IllegalStateException: Couldn't find declaration file" for a file with a delegated property with inline accessor in another module - [`KTIJ-25465`](https://youtrack.jetbrains.com/issue/KTIJ-25465) IDE hangs when indexing Kotlin project - [`KTIJ-25979`](https://youtrack.jetbrains.com/issue/KTIJ-25979) K2 IDE: 'java.lang.IllegalStateException: Attempt to load decompiled text, please use stubs instead' exception if navigate to the decompiled KGP sources - [`KTIJ-25985`](https://youtrack.jetbrains.com/issue/KTIJ-25985) Stub mismatch for names with special characters ##### IDE. Gradle Integration - [`KTIJ-25334`](https://youtrack.jetbrains.com/issue/KTIJ-25334) Gradle 8.1: Unresolved references in IDE for build.gradle.kts - [`KT-61777`](https://youtrack.jetbrains.com/issue/KT-61777) Explicit API mode isn't reflected in IDE settings unless every task is configured with Gradle - [`KTIJ-26306`](https://youtrack.jetbrains.com/issue/KTIJ-26306) apiLevel (API version) for Kotlin/Native modules is set to 1.8 with KGP 1.9 and IDE Plugin 1.9.0-XXX, if the compiler bundled to IDE Plugin is still 1.8 - [`KT-61172`](https://youtrack.jetbrains.com/issue/KT-61172) MPP: Stacktraces of diagnostics are always printed during IDEA sync - [`KT-48554`](https://youtrack.jetbrains.com/issue/KT-48554) \[Multiplatform Import] Ensure consistency between `GradleImportProperties` and `PropertiesProvider` - [`KT-36677`](https://youtrack.jetbrains.com/issue/KT-36677) MPP Gradle plugin doesn't respect manually set compiler arg `-opt-in` - [`KT-58696`](https://youtrack.jetbrains.com/issue/KT-58696) MPP + IDEA: tryK2 does not affect LV value of common facets - [`KT-53875`](https://youtrack.jetbrains.com/issue/KT-53875) Warn users about erroneously adding dependsOn from `test` to `main` - [`KTIJ-23890`](https://youtrack.jetbrains.com/issue/KTIJ-23890) Gradle to IDEA import: "You are currently using the Kotlin/JS Legacy toolchain" balloon is shown when I actually use IR ##### IDE. Gradle. Script - [`KTIJ-25523`](https://youtrack.jetbrains.com/issue/KTIJ-25523) Scripts: support for standalone configuration flag - [`KTIJ-25910`](https://youtrack.jetbrains.com/issue/KTIJ-25910) Scripts: transition to GistStorage - [`KTIJ-26778`](https://youtrack.jetbrains.com/issue/KTIJ-26778) Gradle 8.3: some parts of build.gradle.kts look unresolved - [`KTIJ-26308`](https://youtrack.jetbrains.com/issue/KTIJ-26308) IAE “Unable to find script compilation configuration for the script KtFile: build.gradle.kts” on reopening project with build.gradle.kts - [`KT-60171`](https://youtrack.jetbrains.com/issue/KT-60171) K2 IDE: scripting freeze on kotlin project build.gradle.kts file - [`KT-60236`](https://youtrack.jetbrains.com/issue/KT-60236) K2 scripting: completion fails with exception - [`KT-59801`](https://youtrack.jetbrains.com/issue/KT-59801) K2 IDE: Adding of an import with a task name to a build script leads to unresolved references - [`KT-60749`](https://youtrack.jetbrains.com/issue/KT-60749) Scripting: default definition as a fallback - [`KT-60199`](https://youtrack.jetbrains.com/issue/KT-60199) K2 scripting: exception on script opening - [`KT-60193`](https://youtrack.jetbrains.com/issue/KT-60193) K2 scripts: configuration discovery fails silently from time to time ##### IDE. Hints. Parameter Info - [`KTIJ-26824`](https://youtrack.jetbrains.com/issue/KTIJ-26824) K2 IDE: "Parameter Info" shows incorrect overload as selected ##### IDE. Inspections and Intentions ##### New Features - [`KTIJ-26302`](https://youtrack.jetbrains.com/issue/KTIJ-26302) K2 IDE: Support adding a `@OptIn` annotation and suggesting to propagate opt-in requirement in quickFixes - [`KTIJ-25002`](https://youtrack.jetbrains.com/issue/KTIJ-25002) Provide a quick fix to migrate use-site 'get' annotations on getters ##### Fixes - [`KTIJ-24832`](https://youtrack.jetbrains.com/issue/KTIJ-24832) K2 IDE: 'Redundant qualifier name' false positive for nested classes from supertypes on the outside of a class - [`KTIJ-26103`](https://youtrack.jetbrains.com/issue/KTIJ-26103) K2 IDE: False positive in redundant qualifier inspection - [`KTIJ-26024`](https://youtrack.jetbrains.com/issue/KTIJ-26024) K2 IDE: False positive "Redundant qualifier" inspection on a nested class which extends its outer class - [`KTIJ-26576`](https://youtrack.jetbrains.com/issue/KTIJ-26576) K2 IDE: "Redundant qualifier" false positive with referring parent's subclass in type constraint - [`KTIJ-26785`](https://youtrack.jetbrains.com/issue/KTIJ-26785) K2 IDE: False positive "Redundant qualifier" inspection in extension function for Java interface with nested interface - [`KTIJ-26695`](https://youtrack.jetbrains.com/issue/KTIJ-26695) K2 IDE. False negative "Redundant qualifier" directive for invoke function from object - [`KTIJ-26627`](https://youtrack.jetbrains.com/issue/KTIJ-26627) K2 IDE: False positive "Redundant qualifier" inspection on extension property called on object when other 'this' is present in scope - [`KTIJ-23407`](https://youtrack.jetbrains.com/issue/KTIJ-23407) K2 IDE. False positive unused import directive for invoke function from object - [`KTIJ-26808`](https://youtrack.jetbrains.com/issue/KTIJ-26808) K2 IDE. "Redundant qualifier" inspection on the receiver of static method from Java may change semantic when receiver is not direct parent - [`KTIJ-26840`](https://youtrack.jetbrains.com/issue/KTIJ-26840) K2 IDE. False positive "Redundant qualifier" inspection when accessing companion object member inside anonymous object and there is a name clash - [`KTIJ-26498`](https://youtrack.jetbrains.com/issue/KTIJ-26498) KMP: Create expect-actual dialog selects incorrect path on Windows - [`KTIJ-24877`](https://youtrack.jetbrains.com/issue/KTIJ-24877) K2 IDE. False negative unused import directive when declaration is available in file indirectly - [`KTIJ-25368`](https://youtrack.jetbrains.com/issue/KTIJ-25368) K2 IDE. Specify type explicitly intention does not work with Java records ##### IDE. JS - [`KTIJ-25023`](https://youtrack.jetbrains.com/issue/KTIJ-25023) K/JS: Remove balloon warning about migration to IR backend ##### IDE. Libraries - [`KTIJ-13660`](https://youtrack.jetbrains.com/issue/KTIJ-13660) MPP library: No gutters for `expect` and `actual` symbols ##### IDE. Misc - [`KT-60053`](https://youtrack.jetbrains.com/issue/KT-60053) IdeaKotlinBinaryCoordinates doesn't respect capabilities and classifier attributes ##### IDE. Multiplatform ##### Fixes - [`KTIJ-26700`](https://youtrack.jetbrains.com/issue/KTIJ-26700) KMP: false positive report of non matching expect and actual annotations if annotation is actual typealias - [`KTIJ-25997`](https://youtrack.jetbrains.com/issue/KTIJ-25997) KotlinMPPGradleTestTasksProvider: Support jvm targets with other names (such as android) - [`KT-61686`](https://youtrack.jetbrains.com/issue/KT-61686) Check and update places in compiler and IDE where we are saying that MPP is experimental/Beta/Alpha - [`KTIJ-27058`](https://youtrack.jetbrains.com/issue/KTIJ-27058) Wizard's KMM application failed to build in 232 AS - [`KT-59760`](https://youtrack.jetbrains.com/issue/KT-59760) \[BUG] Use bundled version of Kotlin IDE Plugin in KMM Tests instead of custom - [`KT-61520`](https://youtrack.jetbrains.com/issue/KT-61520) Sources.jar is not imported for common and intermediate source-sets from the MPP library - [`KTIJ-25842`](https://youtrack.jetbrains.com/issue/KTIJ-25842) MPP: New create expect/actual dialog uses deprecated location for android instrumented actual counterpart - [`KTIJ-25746`](https://youtrack.jetbrains.com/issue/KTIJ-25746) MPP: Unable to distinguish android unit and instrumented tests in new create expect/actual dialog if instrumented tests are depends on common - [`KT-60410`](https://youtrack.jetbrains.com/issue/KT-60410) Add minimum supported KGP version in intellij.git infrastructure - [`KT-59794`](https://youtrack.jetbrains.com/issue/KT-59794) Bump used KGP in multiplatform intellij.git tests after release 1.9.0 - [`KT-59518`](https://youtrack.jetbrains.com/issue/KT-59518) Cherry-pick old-import tests into 231-1.9.0/master - [`KT-56736`](https://youtrack.jetbrains.com/issue/KT-56736) Investigate how-to run multiplatform tests on real devices - [`KT-59519`](https://youtrack.jetbrains.com/issue/KT-59519) Bump AGP versions in intellij.git tests in master - [`KTIJ-25591`](https://youtrack.jetbrains.com/issue/KTIJ-25591) MPP: Create expect/actual dialog doesn't allow selecting all targets - [`KT-56684`](https://youtrack.jetbrains.com/issue/KT-56684) Adopt KMM UI tests to be used with IDEA - [`KT-50952`](https://youtrack.jetbrains.com/issue/KT-50952) MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes ##### IDE. Navigation - [`KT-61894`](https://youtrack.jetbrains.com/issue/KT-61894) Navigation from java sources leads to Kotlin decompiled code in case of suspend function - [`KTIJ-27053`](https://youtrack.jetbrains.com/issue/KTIJ-27053) Value parameters documentation of expect isn't shown in actuals - [`KTIJ-26292`](https://youtrack.jetbrains.com/issue/KTIJ-26292) Documentation for expect/actual comes from a random actual - [`KTIJ-26441`](https://youtrack.jetbrains.com/issue/KTIJ-26441) K2 IDE: navigation doesn't work when type parameters are missed in annotation call - [`KTIJ-26566`](https://youtrack.jetbrains.com/issue/KTIJ-26566) K2 IDE: don't show no-name parameters in presentations - [`KTIJ-25366`](https://youtrack.jetbrains.com/issue/KTIJ-25366) K2 IDE. Go to declaration of Java record shows record and constructor ##### IDE. Refactorings. Rename - [`KTIJ-25762`](https://youtrack.jetbrains.com/issue/KTIJ-25762) K2 IDE. label rename doesn't change it's name in usages after rename refactoring ##### IDE. Script - [`KTIJ-25989`](https://youtrack.jetbrains.com/issue/KTIJ-25989) java.lang.NullPointerException: Cannot invoke "com.intellij.openapi.vfs.VirtualFile.getPath()" because the return value of "java.lang.ThreadLocal.get()" is null - [`KT-60519`](https://youtrack.jetbrains.com/issue/KT-60519) Analysis API: scripts are not invalidated on PCE - [`KTIJ-26670`](https://youtrack.jetbrains.com/issue/KTIJ-26670) K2 Scripts: We should be able to find a symbol for <CLASS> - [`KTIJ-25731`](https://youtrack.jetbrains.com/issue/KTIJ-25731) KtAssignResolutionPresenceService is not available as a service in 231-1.9.20 - [`KT-60307`](https://youtrack.jetbrains.com/issue/KT-60307) K2 IDE. KotlinExceptionWithAttachments in script file ##### IDE. Wizards - [`KTIJ-27005`](https://youtrack.jetbrains.com/issue/KTIJ-27005) Wizards 232: Fix generated kotlin version for 1.9.20-Beta - [`KTIJ-26846`](https://youtrack.jetbrains.com/issue/KTIJ-26846) Adjust compatibility data for 1.9.20 release - [`KTIJ-26479`](https://youtrack.jetbrains.com/issue/KTIJ-26479) 1.9.20: Update versions in wizards - [`KT-59347`](https://youtrack.jetbrains.com/issue/KT-59347) Rename Compose Multiplatform wizard to Compose for Desktop ##### IR. Interpreter - [`KT-60467`](https://youtrack.jetbrains.com/issue/KT-60467) "InternalError: Companion object \* cannot be interpreted" caused by java's package name - [`KT-60744`](https://youtrack.jetbrains.com/issue/KT-60744) Restore binary compatibility of toIrConst function ##### IR. Tree - [`KT-59771`](https://youtrack.jetbrains.com/issue/KT-59771) Restore compatibility of IdSignature.CommonSignature - [`KT-59772`](https://youtrack.jetbrains.com/issue/KT-59772) Restore compatibility of IrFactory#createFunction - [`KT-59308`](https://youtrack.jetbrains.com/issue/KT-59308) Auto-generate the IrFactory interface ##### JS. Tools - [`KT-44838`](https://youtrack.jetbrains.com/issue/KT-44838) Kotlin/JS source-map-loader slow performance since 1.4.0 ##### JavaScript ##### New Features - [`KT-58684`](https://youtrack.jetbrains.com/issue/KT-58684) KJS: ES15 classes — creating instance by class ##### Performance Improvements - [`KT-58187`](https://youtrack.jetbrains.com/issue/KT-58187) KJS / IR: Huge performance bottleneck while generating sourceMaps (getCannonicalFile) ##### Fixes - [`KT-60425`](https://youtrack.jetbrains.com/issue/KT-60425) Kotlin/JS compiler incorrect behavior for object singleton with CompleteableDeferred - [`KT-62790`](https://youtrack.jetbrains.com/issue/KT-62790) java.lang.ClassCastException in compiler when ::class is used - [`KT-60495`](https://youtrack.jetbrains.com/issue/KT-60495) K2: Make JS CliTestGenerated working with K2 - [`KT-6168`](https://youtrack.jetbrains.com/issue/KT-6168) Ability to generate one JS file for each Kotlin source file - [`KT-60667`](https://youtrack.jetbrains.com/issue/KT-60667) K2 / KJS: jsTest fails with "SyntaxError: Unexpected token '}'" on runtime - [`KT-61581`](https://youtrack.jetbrains.com/issue/KT-61581) KJS: generate separate imports for useEsModules() - [`KT-56737`](https://youtrack.jetbrains.com/issue/KT-56737) K2: build Space JS - [`KT-59001`](https://youtrack.jetbrains.com/issue/KT-59001) K/JS: Use open-addressing hash map in JS stdlib - [`KT-60131`](https://youtrack.jetbrains.com/issue/KT-60131) KJS: Interference between `@JsExport` and final implementation of properties - [`KT-59712`](https://youtrack.jetbrains.com/issue/KT-59712) K/JS: Implement enumEntries intrinsic - [`KT-60202`](https://youtrack.jetbrains.com/issue/KT-60202) JsExport.Ignored internal extension still has "JavaScript name (<get-const>) generated for this declaration clashes with another declaration" - [`KT-51333`](https://youtrack.jetbrains.com/issue/KT-51333) KJS: some `KType` equals `Nothing`'s `KType` throws an exception, breaking its symmetry - [`KT-58857`](https://youtrack.jetbrains.com/issue/KT-58857) KJS/IR: js file is not generated when source is stored in /var folder - [`KT-53482`](https://youtrack.jetbrains.com/issue/KT-53482) KJS: Inheritance from JS class fails in ES6, because constructor is not called with new - [`KT-58891`](https://youtrack.jetbrains.com/issue/KT-58891) K/JS: non-local return in lambda may leave an unreachable JS code after return - [`KT-49077`](https://youtrack.jetbrains.com/issue/KT-49077) KJS / IR: Wrong method called when using overloaded methods and class with the same name - [`KT-59718`](https://youtrack.jetbrains.com/issue/KT-59718) K/JS: Concatenating a String with a Char can lead to boxing of the Char - [`KT-59717`](https://youtrack.jetbrains.com/issue/KT-59717) K/JS: a redundant boxing of a returned Char from an inline function - [`KT-39506`](https://youtrack.jetbrains.com/issue/KT-39506) Kotlin/JS browser application using JS IR and React fails in runtime with "TypeError: \_this\_\_0.\_set_name\_\_2 is not a function" - [`KT-59151`](https://youtrack.jetbrains.com/issue/KT-59151) K2 / KJS: NullPointerException in Fir2IrClassifierStorage.preCacheBuiltinClasses - [`KT-59335`](https://youtrack.jetbrains.com/issue/KT-59335) K/JS ES6 classes: A child constructor, when using parent secondary constructor super call, creates a parent object - [`KT-58797`](https://youtrack.jetbrains.com/issue/KT-58797) Optimize the code generated for objects on JS and Wasm backends - [`KT-52339`](https://youtrack.jetbrains.com/issue/KT-52339) FIx failing JS tests after bootstrap update - [`KT-46643`](https://youtrack.jetbrains.com/issue/KT-46643) KJS / IR: Setter of overridden var of external val is removed - [`KT-55315`](https://youtrack.jetbrains.com/issue/KT-55315) IR: can't access the `stack` property of `Throwable` - [`KT-59204`](https://youtrack.jetbrains.com/issue/KT-59204) Automatically generate NATIVE directive in tests for IR signatures - [`KT-59239`](https://youtrack.jetbrains.com/issue/KT-59239) K/JS: Bridge not generated for checking parameter type in generic class override - [`KT-57347`](https://youtrack.jetbrains.com/issue/KT-57347) KJS: BE IR Incremental cache invalidation doesn't work after inserting Partial Linkage stub - [`KT-58599`](https://youtrack.jetbrains.com/issue/KT-58599) KJS: Adding an override method to open class does not rebuild children JS code - [`KT-58003`](https://youtrack.jetbrains.com/issue/KT-58003) K2/MPP/JS: compiler IR serialization crash on multiple calls to inherited expect-function - [`KT-38017`](https://youtrack.jetbrains.com/issue/KT-38017) KJS: tests generate invalid code depending on file names - [`KT-25796`](https://youtrack.jetbrains.com/issue/KT-25796) KJS: Top-level constructs are put in an incorrect order - [`KT-58396`](https://youtrack.jetbrains.com/issue/KT-58396) KJS / IR: "IllegalStateException: Validation failed in file" with Enum.entries and inheritance ##### KMM Plugin - [`KTIJ-27158`](https://youtrack.jetbrains.com/issue/KTIJ-27158) Import is failing after creation of new module if project don't use versionCatalog - [`KT-59492`](https://youtrack.jetbrains.com/issue/KT-59492) KMM AS plugin for Canary 231 reports error ##### Klibs - [`KT-58877`](https://youtrack.jetbrains.com/issue/KT-58877) \[klib tool] add ability to dump klib ir - [`KT-54402`](https://youtrack.jetbrains.com/issue/KT-54402) Programmatic API to dump public signatures from KLibs - [`KT-60576`](https://youtrack.jetbrains.com/issue/KT-60576) Keep supported IR signature versions in manifest - [`KT-59136`](https://youtrack.jetbrains.com/issue/KT-59136) \[PL] Lower the default PL engine messages log level down to INFO - [`KT-59486`](https://youtrack.jetbrains.com/issue/KT-59486) klib: Serialize mangled names along with signatures ##### Language Design - [`KT-22841`](https://youtrack.jetbrains.com/issue/KT-22841) Prohibit different member scopes for non-final expect and its actual - [`KT-49175`](https://youtrack.jetbrains.com/issue/KT-49175) Inconsistency with extension super-type allowance between suspend / non-suspend function types - [`KT-61573`](https://youtrack.jetbrains.com/issue/KT-61573) Emit the compilation warning on expect/actual classes. The warning must mention that expect/actual classes are in Beta - [`KT-57614`](https://youtrack.jetbrains.com/issue/KT-57614) KMP: consider prohibiting `actual typealias` when the corresponding `expect class` has default arguments - [`KT-27750`](https://youtrack.jetbrains.com/issue/KT-27750) Reverse reservation of 'yield' as keyword ##### Libraries ##### New Features - [`KT-59440`](https://youtrack.jetbrains.com/issue/KT-59440) Rework Flags API in kotlinx-metadata-jvm ##### Fixes - [`KT-62381`](https://youtrack.jetbrains.com/issue/KT-62381) K/Wasm: (re)publish libraries with 1.9.20-Beta2 (or newer if available) - [`KT-62656`](https://youtrack.jetbrains.com/issue/KT-62656) Drop `@AllowDifferentMembersInActual` from stdlib - [`KT-58887`](https://youtrack.jetbrains.com/issue/KT-58887) Reflection: "IllegalArgumentException: argument type mismatch" when using reflection to invoke a value class returning function that suspends - [`KT-61507`](https://youtrack.jetbrains.com/issue/KT-61507) Native: enum hashcode is not final - [`KT-56106`](https://youtrack.jetbrains.com/issue/KT-56106) Migrate stdlib to current Kotlin Multiplatform Plugin - [`KT-58402`](https://youtrack.jetbrains.com/issue/KT-58402) Migrate Vector128 from kotlin.native to kotlinx.cinterop - [`KT-60911`](https://youtrack.jetbrains.com/issue/KT-60911) Compatibility publishing of kotlin-stdlib-common - [`KT-53154`](https://youtrack.jetbrains.com/issue/KT-53154) Deprecate enumValues and replace it with enumEntries in standard library - [`KT-58123`](https://youtrack.jetbrains.com/issue/KT-58123) Update deprecations in native atomic classes for 1.9.20 - [`KT-60444`](https://youtrack.jetbrains.com/issue/KT-60444) transformJvmMainAtomicfu fails with java.lang.NoSuchMethodError: 'kotlin.Metadata kotlinx.metadata.jvm.KotlinClassMetadata.getAnnotationData()' - [`KT-61342`](https://youtrack.jetbrains.com/issue/KT-61342) kotlin-test-wasm-\* artifacts include test code - [`KT-61315`](https://youtrack.jetbrains.com/issue/KT-61315) Publish common sources in kotlin-test-js sources jar - [`KT-56608`](https://youtrack.jetbrains.com/issue/KT-56608) WASI Preview1 version of Kotlin/Wasm stdlib - [`KT-55765`](https://youtrack.jetbrains.com/issue/KT-55765) Review and stabilize stdlib surface available in K/N - [`KT-55297`](https://youtrack.jetbrains.com/issue/KT-55297) kotlin-stdlib should declare constraints on kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 - [`KT-57838`](https://youtrack.jetbrains.com/issue/KT-57838) Native: raise ExperimentalNativeApi opt-in requirement level to ERROR - [`KT-61028`](https://youtrack.jetbrains.com/issue/KT-61028) Behavioural changes to the Native stdlib API - [`KT-61024`](https://youtrack.jetbrains.com/issue/KT-61024) Native: Mark the kotlin.native.CName annotation with ExperimentalNativeApi - [`KT-61025`](https://youtrack.jetbrains.com/issue/KT-61025) Native: Deprecate HashSet.getElement() with WARNING - [`KT-53791`](https://youtrack.jetbrains.com/issue/KT-53791) Publish standard library as a multiplatform artifact with Gradle metadata - [`KT-57363`](https://youtrack.jetbrains.com/issue/KT-57363) Remove reified constraint from Array constructors in platforms where Array type parameter is not required to be reified - [`KT-57401`](https://youtrack.jetbrains.com/issue/KT-57401) Native: Regex matching zero length should split surrogate pairs - [`KT-57359`](https://youtrack.jetbrains.com/issue/KT-57359) Provide Common StringBuilder.append/insert with primitive type arguments - [`KT-58264`](https://youtrack.jetbrains.com/issue/KT-58264) K2: republish kotlinx.metadata to support LV 2.0 - [`KT-57710`](https://youtrack.jetbrains.com/issue/KT-57710) Native: Internalize `@Retain` and `@RetainForTarget` annotations - [`KT-57720`](https://youtrack.jetbrains.com/issue/KT-57720) Native: Consider strictening NativeRuntimeApi opt-in requirement level to ERROR - [`KT-57837`](https://youtrack.jetbrains.com/issue/KT-57837) Deprecate kotlin.native.SharedImmutable and kotlin.native.concurrent.SharedImmutable - [`KT-58126`](https://youtrack.jetbrains.com/issue/KT-58126) Wasm: Consider removing Primitive.equals(Primitive) overload on primitive types - [`KT-53327`](https://youtrack.jetbrains.com/issue/KT-53327) Migrate all usages of 'Enum.values' to 'Enum.entries' in standard library - [`KT-59366`](https://youtrack.jetbrains.com/issue/KT-59366) Deprecate KmModule.annotations - [`KT-59365`](https://youtrack.jetbrains.com/issue/KT-59365) Get rid of two-stage parsing in KotlinClassMetadata - [`KT-35116`](https://youtrack.jetbrains.com/issue/KT-35116) Enum.valueOf throws inconsistent exception across multiple platforms - [`KT-59223`](https://youtrack.jetbrains.com/issue/KT-59223) Native Enum.hashCode should return identity hash code, similar to JVM - [`KT-56637`](https://youtrack.jetbrains.com/issue/KT-56637) Native: 'String.indexOf' matches byte sequences not on the char boundary, which also makes the result of 'split' and 'replace' operation incorrect - [`KT-59192`](https://youtrack.jetbrains.com/issue/KT-59192) Align behavior of collection constructors across platforms ##### Native ##### New Features - [`KT-50463`](https://youtrack.jetbrains.com/issue/KT-50463) Native: Provide a way to control the KONAN_DATA_DIR by the Gradle mechanisms - [`KT-59448`](https://youtrack.jetbrains.com/issue/KT-59448) K2: IR and FIR signatures are not same for composable functions ##### Fixes - [`KT-60230`](https://youtrack.jetbrains.com/issue/KT-60230) Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3 - [`KT-62532`](https://youtrack.jetbrains.com/issue/KT-62532) Support Xcode 15.0 frameworks as Kotlin/Native platform libraries - [`KT-61382`](https://youtrack.jetbrains.com/issue/KT-61382) Linking XCFramework fails with error: Invalid record (Producer: 'LLVM11.1.0' Reader: 'LLVM APPLE\_1\_1300.0.29.30\_0') - [`KT-61417`](https://youtrack.jetbrains.com/issue/KT-61417) Native: string and array variables are not properly displayed in lldb when compiling with caches with Xcode 15 - [`KT-60758`](https://youtrack.jetbrains.com/issue/KT-60758) Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4 - [`KT-59149`](https://youtrack.jetbrains.com/issue/KT-59149) Native: check compiler compatibility with Xcode 15 beta 1 - [`KT-58537`](https://youtrack.jetbrains.com/issue/KT-58537) iOS project fails to build with rootProject.name = "Contains Space" - [`KT-59073`](https://youtrack.jetbrains.com/issue/KT-59073) Native: don't include kotlinx.cli endorsed library into compiler distribution - [`KT-58707`](https://youtrack.jetbrains.com/issue/KT-58707) \[K/N] Compiler crash building generics with redundant cast - [`KT-58654`](https://youtrack.jetbrains.com/issue/KT-58654) Compiler error from kotlin.collections.Map : "Invalid phi record", while compiling for kotlin native ##### Native. C Export - [`KT-56182`](https://youtrack.jetbrains.com/issue/KT-56182) \[K2/N] C export doesn't work for non-root packages with K2 ##### Native. C and ObjC Import - [`KT-59642`](https://youtrack.jetbrains.com/issue/KT-59642) Remove ability to import forward declaration by library package name - [`KT-59643`](https://youtrack.jetbrains.com/issue/KT-59643) K2: Disable merging of forward declaration with real declaration class - [`KT-52882`](https://youtrack.jetbrains.com/issue/KT-52882) MPP / Native: expect/actual mechanism broken when base contract is NSObjectProtocol - [`KT-55578`](https://youtrack.jetbrains.com/issue/KT-55578) Custom user message for linker error - [`KT-58585`](https://youtrack.jetbrains.com/issue/KT-58585) \[K2/N] Fix interop issues - [`KT-56041`](https://youtrack.jetbrains.com/issue/KT-56041) \[K2/N] Fix broken \__builtin_nanf(String) - [`KT-57716`](https://youtrack.jetbrains.com/issue/KT-57716) \[K2/N] Validation failed in file smoke.kt : unexpected type: expected platform.objc.Protocol?, got objcnames.classes.Protocol? - [`KT-56028`](https://youtrack.jetbrains.com/issue/KT-56028) \[K2/N] `cnames.structs.Foo` does not resolve - [`KT-59645`](https://youtrack.jetbrains.com/issue/KT-59645) Cast to objective C forward declaration crashes compiler - [`KT-58793`](https://youtrack.jetbrains.com/issue/KT-58793) \[K2/N] Package separators after mangling are different for IR and FIR ##### Native. ObjC Export - [`KT-56090`](https://youtrack.jetbrains.com/issue/KT-56090) \[K2/N] Emit DocString klib extensions for ObjCExport ##### Native. Runtime. Memory - [`KT-61914`](https://youtrack.jetbrains.com/issue/KT-61914) Kotlin/Native: massive increase in memory usage - [`KT-61092`](https://youtrack.jetbrains.com/issue/KT-61092) Kotlin/Native: Adjust initial values for expected heap size - [`KT-61091`](https://youtrack.jetbrains.com/issue/KT-61091) Kotlin/Native: GC scheduler pauses mutators too aggressively - [`KT-61741`](https://youtrack.jetbrains.com/issue/KT-61741) Kotlin/Native: tsan error in parallel mark - [`KT-57773`](https://youtrack.jetbrains.com/issue/KT-57773) Kotlin/Native: track memory in big chunks in the GC scheduler - [`KT-61089`](https://youtrack.jetbrains.com/issue/KT-61089) Kotlin/Native: fix concurrent weak processing for new allocations - [`KT-55364`](https://youtrack.jetbrains.com/issue/KT-55364) Implement custom allocator for Kotlin/Native - [`KT-57772`](https://youtrack.jetbrains.com/issue/KT-57772) Kotlin/Native: concurrently process weak references in GC - [`KT-57771`](https://youtrack.jetbrains.com/issue/KT-57771) Kotlin/Native: parallel mark in GC ##### Native. Stdlib - [`KT-60608`](https://youtrack.jetbrains.com/issue/KT-60608) Introduce AtomicArrays API in K/N stdlib - [`KT-59120`](https://youtrack.jetbrains.com/issue/KT-59120) Native: Rewrite stdlib AtomicReference with Volatile instead of custom C++ code ##### Reflection - [`KT-47973`](https://youtrack.jetbrains.com/issue/KT-47973) Reflection: "IllegalArgumentException: argument type mismatch" when using callSuspend to call a function returning value class over primitive - [`KT-41373`](https://youtrack.jetbrains.com/issue/KT-41373) "KotlinReflectionInternalError: Unresolved class" when inspecting anonymous Java class - [`KT-61304`](https://youtrack.jetbrains.com/issue/KT-61304) Reflection: Calling data class `copy` method via reflection (callBy) fails when the data class has exactly 64 fields - [`KT-52071`](https://youtrack.jetbrains.com/issue/KT-52071) Continue gracefully when the system property check "kotlin.ignore.old.metadata" fails ##### Tools. CLI - [`KT-60662`](https://youtrack.jetbrains.com/issue/KT-60662) Add JVM target bytecode version 21 - [`KT-58183`](https://youtrack.jetbrains.com/issue/KT-58183) ParseCommandLineArgumentsKt.parseCommandLineArguments takes ~500ms - [`KT-58690`](https://youtrack.jetbrains.com/issue/KT-58690) OutOfMemory when compiling in CLI - [`KT-58065`](https://youtrack.jetbrains.com/issue/KT-58065) K2: Enable light tree instead of PSI for CLI compilation of JS and Native by default ##### Tools. CLI. Native - [`KT-59245`](https://youtrack.jetbrains.com/issue/KT-59245) \[K1/N] Compile sources to native binary in two stages - [`KT-56855`](https://youtrack.jetbrains.com/issue/KT-56855) \[K2/N] Command-line compiler doesn't support compiling sources directly to a native binary (without intermediate klib) with `-language-version 2.0` - [`KT-58979`](https://youtrack.jetbrains.com/issue/KT-58979) \[K2/N] FIR frontend cannot resolve symbols from resolved klib having non-normalized path ##### Tools. Commonizer - [`KT-59302`](https://youtrack.jetbrains.com/issue/KT-59302) Commonizer: make sure that opt-in annotation generated by cinterop made it into commonized artifact - [`KT-62028`](https://youtrack.jetbrains.com/issue/KT-62028) False positive "Unnecessary '`@OptIn`' Annotation" for ExperimentalForeignApi - [`KT-55757`](https://youtrack.jetbrains.com/issue/KT-55757) `kotlinx.cinterop.UnsafeNumber`: empty opt-in message - [`KT-59859`](https://youtrack.jetbrains.com/issue/KT-59859) Change the OptIn Level to Error for kotlinx.cinterop.UnsafeNumber - [`KT-59132`](https://youtrack.jetbrains.com/issue/KT-59132) K2/Native/CInterop: \[UPPER_BOUND_VIOLATED] Type argument is not within its bounds: should be subtype of 'kotlinx/cinterop/CPointed' - [`KT-58822`](https://youtrack.jetbrains.com/issue/KT-58822) Kotlin Gradle Plugin: migrate tests off native deprecated targets - [`KT-47641`](https://youtrack.jetbrains.com/issue/KT-47641) Enabled cInterop commonization triggers native compilation during Gradle sync in IDE ##### Tools. Compiler Plugin API - [`KT-58638`](https://youtrack.jetbrains.com/issue/KT-58638) K2: Annotations generated by IR plugins are not included into metadata - [`KT-61872`](https://youtrack.jetbrains.com/issue/KT-61872) K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration - [`KT-61833`](https://youtrack.jetbrains.com/issue/KT-61833) K2: annotations added via `addMetadataVisibleAnnotationsToElement` to declarations from common sourceset in MPP project are invisible - [`KT-60051`](https://youtrack.jetbrains.com/issue/KT-60051) K2: Support metadata serialization of primitive const annotation arguments generated by IR plugins ##### Tools. Compiler Plugins - [`KT-61550`](https://youtrack.jetbrains.com/issue/KT-61550) \[atomicfu-compiler-plugin]: check that atomic properties are declared as private or internal val - [`KT-58079`](https://youtrack.jetbrains.com/issue/KT-58079) K2/atomicfu: JVM IR transformer crash on atomic extension functions - [`KT-61293`](https://youtrack.jetbrains.com/issue/KT-61293) Usage of atomicfu compiler plugin leads to UnsupportedClassVersionError if Gradle runs on JVM <11 - [`KT-55876`](https://youtrack.jetbrains.com/issue/KT-55876) K2. "\[Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/openapi/util/UserDataHolderBase" when project with languageVersion 2.0 is Built and Run using Intelij IDEA - [`KT-58049`](https://youtrack.jetbrains.com/issue/KT-58049) K2: Smartcast of nullable property fails when Spring compiler plugin is present - [`KT-57468`](https://youtrack.jetbrains.com/issue/KT-57468) Kotlin assignment plugin: operation name cannot be found for reference ##### Tools. Compiler plugins. Serialization - [`KT-58501`](https://youtrack.jetbrains.com/issue/KT-58501) K2/MPP/serialization: several classifier kinds seem to miss generated serializer functions when compiled to K/JS and K/Native targets - [`KT-59768`](https://youtrack.jetbrains.com/issue/KT-59768) kotlinx.serialization + K2 + JS/Native: Support meta-annotations on sealed interfaces with user-defined companions ##### Tools. Gradle ##### New Features - [`KT-59000`](https://youtrack.jetbrains.com/issue/KT-59000) Default standard library dependency should use the single artifact for all targets - [`KT-57398`](https://youtrack.jetbrains.com/issue/KT-57398) Add ability to run compilation via build-tools-api - [`KT-34901`](https://youtrack.jetbrains.com/issue/KT-34901) Gradle testFixtures don't have friendPaths set - [`KT-44833`](https://youtrack.jetbrains.com/issue/KT-44833) Gradle DSL: Add `languageSettings` accessor to `kotlin` extension that applies to all source sets - [`KT-58315`](https://youtrack.jetbrains.com/issue/KT-58315) Add build metrics for Kotlin/Native task ##### Performance Improvements - [`KT-62318`](https://youtrack.jetbrains.com/issue/KT-62318) Android Studio sync memory leak in 1.9.20-Beta - [`KT-62496`](https://youtrack.jetbrains.com/issue/KT-62496) Configuration time regression with KGP 1.9.20-Beta caused by loading of properties - [`KT-61426`](https://youtrack.jetbrains.com/issue/KT-61426) Enabling compilation via the build tools API may cause high metaspace usage ##### Fixes - [`KT-61359`](https://youtrack.jetbrains.com/issue/KT-61359) "Unresolved reference: platform" when enabling Gradle configuration cache - [`KT-59826`](https://youtrack.jetbrains.com/issue/KT-59826) Update SimpleKotlinGradleIT#testProjectIsolation to run on Gradle 8 - [`KT-57565`](https://youtrack.jetbrains.com/issue/KT-57565) Add ability to capture classpath snapshots via the build-tools-api - [`KT-51964`](https://youtrack.jetbrains.com/issue/KT-51964) Optimize `kotlin.incremental.useClasspathSnapshot` feature to improve incremental Kotlin compilation - [`KT-61368`](https://youtrack.jetbrains.com/issue/KT-61368) Native compiler option 'module-name' isn't available within the compilerOptions extension for native target while configuring it inside compilations - [`KT-61355`](https://youtrack.jetbrains.com/issue/KT-61355) freeCompilerArgs arguments and its values are passed to the compiler 5 times if added through target-level compilerOptions{} extension inside compilations - [`KT-61273`](https://youtrack.jetbrains.com/issue/KT-61273) KGP: TaskOutputsBackup.createSnapshot was failed by IOException sometimes - [`KT-58987`](https://youtrack.jetbrains.com/issue/KT-58987) Use some available JVM target if there's no JvmTarget for the inferred toolchain version - [`KT-58234`](https://youtrack.jetbrains.com/issue/KT-58234) Kotlin Gradle Plugin: Deprecate and remove KotlinCompilation.source API - [`KT-61401`](https://youtrack.jetbrains.com/issue/KT-61401) The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate - [`KT-54231`](https://youtrack.jetbrains.com/issue/KT-54231) Compatibility with Gradle 8.0 release - [`KT-61950`](https://youtrack.jetbrains.com/issue/KT-61950) K/Wasm: Add warning about changed sourceSets - [`KT-61895`](https://youtrack.jetbrains.com/issue/KT-61895) KotlinTopLevelExtension.useCompilerVersion is not marked as experimental - [`KT-61303`](https://youtrack.jetbrains.com/issue/KT-61303) The module-name value stays unchanged when configuring it through compiler options extension specific to the android target - [`KT-61194`](https://youtrack.jetbrains.com/issue/KT-61194) MPP compiler options: part of JsCompilerOptions set up using js { compilerOptions {} } extension is lost - [`KT-61253`](https://youtrack.jetbrains.com/issue/KT-61253) CompileExecutableKotlinJs task is skipped while configuring LV either using sourceSets.all {} or both js compiler options extension and base multiplatform compiler options extension - [`KT-59588`](https://youtrack.jetbrains.com/issue/KT-59588) Upgrade max gradle version to max supported in kapt connected tests - [`KT-61292`](https://youtrack.jetbrains.com/issue/KT-61292) Gradle: compilation tasks may capture wrong build directory when build directory is changed after task configuration - [`KT-61193`](https://youtrack.jetbrains.com/issue/KT-61193) Flag kotlin.experimental.tryK2 doesn't set LV 2.0 for tasks of kotlin-js gradle plugin - [`KT-60541`](https://youtrack.jetbrains.com/issue/KT-60541) Possibility to create a custom usable `KotlinCompile` task without using internals - [`KT-59451`](https://youtrack.jetbrains.com/issue/KT-59451) \[K2]\[1.9.0-Beta] "Errors were stored into ..." log files never actually exist - [`KT-48898`](https://youtrack.jetbrains.com/issue/KT-48898) Can't suppress warnings by Optin() in KMM build.gradle.kts or IDEA settings - [`KT-60660`](https://youtrack.jetbrains.com/issue/KT-60660) konan.data.dir property not provided for K/N Gradle project build (on Linux or Mac) with a dependency from a Maven - [`KT-56959`](https://youtrack.jetbrains.com/issue/KT-56959) K2: Set up Ktor repo performance benchmarks with K2 enabled - [`KT-56178`](https://youtrack.jetbrains.com/issue/KT-56178) Compatibility with Gradle 8.1 release - [`KT-61457`](https://youtrack.jetbrains.com/issue/KT-61457) Kotlin Gradle Plugin should not use internal deprecated StartParameterInternal.isConfigurationCache - [`KT-60718`](https://youtrack.jetbrains.com/issue/KT-60718) Kotlin Gradle Plugin's incremental compilation violates Project Isolation by accessing the tasks in the task graph that were produced by other projects - [`KT-60717`](https://youtrack.jetbrains.com/issue/KT-60717) Kotlin Gradle Plugin violates Project Isolation restrictions by dynamically looking up properties in the project - [`KT-54232`](https://youtrack.jetbrains.com/issue/KT-54232) Don't check if file exists in task file inputs configuration - [`KT-61066`](https://youtrack.jetbrains.com/issue/KT-61066) \[KMP] iOS "Unkown Kotlin JVM target 20" - [`KT-54160`](https://youtrack.jetbrains.com/issue/KT-54160) New KGP API using lazy properties to add compiler plugin options may remove options with the same pluginId - [`KT-60839`](https://youtrack.jetbrains.com/issue/KT-60839) KGP provides incorrect default value "ENABLED" for -Xpartial-linkage - [`KT-15370`](https://youtrack.jetbrains.com/issue/KT-15370) Gradle DSL: add module-level kotlin options - [`KT-57645`](https://youtrack.jetbrains.com/issue/KT-57645) build_scan failed in testBuildScanReportSmokeTestForConfigurationCache test with Gradle 8.0.2 - [`KT-59827`](https://youtrack.jetbrains.com/issue/KT-59827) Update configuration to validate plugin inputs - [`KT-59799`](https://youtrack.jetbrains.com/issue/KT-59799) Validate Gralde Integrations tests has only one tag - [`KT-59117`](https://youtrack.jetbrains.com/issue/KT-59117) Add gradle integration tests for explicit api mode in Android projects - [`KT-59587`](https://youtrack.jetbrains.com/issue/KT-59587) Upgrade max gradle version to max supported in jvmToolchain connected tests - [`KT-56636`](https://youtrack.jetbrains.com/issue/KT-56636) Bump max Gradle version for integration tests to 8.0 - [`KT-58353`](https://youtrack.jetbrains.com/issue/KT-58353) Support reporting of diagnostics after projects are evaluated - [`KT-53822`](https://youtrack.jetbrains.com/issue/KT-53822) Upgrade the `gradle-download-task` dependency of the Kotlin Gradle plugin - [`KT-58162`](https://youtrack.jetbrains.com/issue/KT-58162) Kotlin Gradle Plugin: Remove kotlinx.coroutines from classpath of KGP - [`KT-58104`](https://youtrack.jetbrains.com/issue/KT-58104) Check values for MPP_PLATFORMS - [`KT-58569`](https://youtrack.jetbrains.com/issue/KT-58569) Bump language version for Gradle plugins dependencies to 1.5 ##### Tools. Gradle. Cocoapods - [`KT-59263`](https://youtrack.jetbrains.com/issue/KT-59263) Add diagnostic that a dummy framework is not present when build is triggered from Xcode - [`KT-57741`](https://youtrack.jetbrains.com/issue/KT-57741) KMP importing an iOS project with Xcode 14.3 fails when importing a pod that depends on `libarclite_iphoneos` - [`KT-60050`](https://youtrack.jetbrains.com/issue/KT-60050) Log reason why podInstall task is skipped - [`KT-49430`](https://youtrack.jetbrains.com/issue/KT-49430) Stop invalidating iOS framework generated by KMM module on each Gradle Sync - [`KT-59522`](https://youtrack.jetbrains.com/issue/KT-59522) Set the required environment for cocoapods invocations - [`KT-59313`](https://youtrack.jetbrains.com/issue/KT-59313) Elevate to error deprecation of useLibraries - [`KT-58775`](https://youtrack.jetbrains.com/issue/KT-58775) If the pod has a declared dependency on itself, then it will cause StackOverFlow exception while importing of a project ##### Tools. Gradle. JS ##### New Features - [`KT-49789`](https://youtrack.jetbrains.com/issue/KT-49789) KJS / Gradle: Add npm style repository option for YarnRootExtension - and/or don't register github repository when download=false ##### Fixes - [`KT-60469`](https://youtrack.jetbrains.com/issue/KT-60469) KJS: "Could not serialize value of type Build_gradle" caused by changed name in packageJson task - [`KT-61623`](https://youtrack.jetbrains.com/issue/KT-61623) K/Wasm: Error with project dependency between modules with both wasmJs and wasmWasi targets - [`KT-56933`](https://youtrack.jetbrains.com/issue/KT-56933) Add Kotlin/JS incremental tests with K2 enabled - [`KT-58970`](https://youtrack.jetbrains.com/issue/KT-58970) browserTest gradle task fails if karma is used and gradle configuration cache is enabled - [`KT-42520`](https://youtrack.jetbrains.com/issue/KT-42520) Add a way to setup generating separate js files for each module inside gradle - [`KT-32086`](https://youtrack.jetbrains.com/issue/KT-32086) Gradle, JS: runTask.enabled = false has no effect on npm dependencies - [`KT-48358`](https://youtrack.jetbrains.com/issue/KT-48358) KJS: Circular dependency when multiple second-level Gradle modules have the same name - [`KT-50530`](https://youtrack.jetbrains.com/issue/KT-50530) Kotlin/JS: enabling `kotlin.js.ir.output.granularity=whole-program` does not remove superfluous .js output files - [`KT-50442`](https://youtrack.jetbrains.com/issue/KT-50442) KJS / Gradle: webpack plugin errors not logged - [`KT-46003`](https://youtrack.jetbrains.com/issue/KT-46003) KJS / IR: Should provide single distributions folder for production and development similarly to Legacy - [`KT-47319`](https://youtrack.jetbrains.com/issue/KT-47319) KJS: Error when project contains two modules with same name - [`KT-46010`](https://youtrack.jetbrains.com/issue/KT-46010) KJS / Gradle: Can't find a file on building on Windows - [`KT-48923`](https://youtrack.jetbrains.com/issue/KT-48923) KJS / Gradle: No `Webpack` error messages when Node.js process exits unexpected - [`KT-51942`](https://youtrack.jetbrains.com/issue/KT-51942) KJS / Gradle: fails with two projects with the same name, but different paths - [`KT-51372`](https://youtrack.jetbrains.com/issue/KT-51372) Kotlin/JS: Gradle compileKotlinJs processes directory just excluded from source set - [`KT-52134`](https://youtrack.jetbrains.com/issue/KT-52134) KJS: the default generated JS module name in a Gradle project with multiple subprojects is incomplete, which might cause duplicate names and build conflicts - [`KT-52776`](https://youtrack.jetbrains.com/issue/KT-52776) KJS / Gradle: Webpack version update despite yarn.lock breaks Kotlin/JS build - [`KT-54182`](https://youtrack.jetbrains.com/issue/KT-54182) MPP / JS: `StackOverflowError` when in a Gradle multi-project and Kotlin Multiplatform build with the JS IR target which depends on another with the same subproject name via a renamed published Maven artifact - [`KT-58250`](https://youtrack.jetbrains.com/issue/KT-58250) The `NodeJsExec` tasks are not compatible with Gradle configuration cache - [`KT-58256`](https://youtrack.jetbrains.com/issue/KT-58256) The `D8Exec` tasks are not compatible with Gradle configuration cache ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-60441`](https://youtrack.jetbrains.com/issue/KT-60441) KGP based dependency resolution: Support 'idea.gradle.download.sources' flag ##### - [See full ChangeLog in File](https://github.com/JetBrains/kotlin/edit/1.9.20/docs/changelogs/ChangeLog-1.9.X.md) ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.20.zip | 15a8a2825b74ccf6c44e04e97672db802d2df75ce2fbb63ef0539bf3ae5006f0 | | kotlin-native-linux-x86\_64-1.9.20.tar.gz | 7da32e058506e6a8f4378be0e4471f5880b75235e23e1149ba29335d580db23c | | kotlin-native-macos-x86\_64-1.9.20.tar.gz | 9a70e2f1d3020f31ac74f743d5dc3860c07101fa3916fc0325553f7b0ef4cfd5 | | kotlin-native-macos-aarch64-1.9.20.tar.gz | 630e883bca63d02f571dfcd5b21728be4a050545c9dca8b1846a326c14452f65 | | kotlin-native-windows-x86\_64-1.9.20.zip | 78ea9f5a1ca3d665529b724400799e1f11040e784091ed033916dff1a77780b6 | ### [`v1.9.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.10): Kotlin 1.9.10 ##### Changelog ##### Compiler - [`KT-60769`](https://youtrack.jetbrains.com/issue/KT-60769) Partially revert KT-58371 - [`KT-60659`](https://youtrack.jetbrains.com/issue/KT-60659) Incorrect 'unresolved reference: addFirst' error with JDK 21 - [`KT-60371`](https://youtrack.jetbrains.com/issue/KT-60371) Native custom allocator link error - [`KT-60986`](https://youtrack.jetbrains.com/issue/KT-60986) Native: static caches with custom runtime options are broken on Linux - [`KT-60770`](https://youtrack.jetbrains.com/issue/KT-60770) Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21 - [`KT-60231`](https://youtrack.jetbrains.com/issue/KT-60231) NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$$$$$ after upgrade to Kotlin 1.9.0 ##### JavaScript - [`KT-60785`](https://youtrack.jetbrains.com/issue/KT-60785) KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error - [`KT-60852`](https://youtrack.jetbrains.com/issue/KT-60852) Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0 - [`KT-57509`](https://youtrack.jetbrains.com/issue/KT-57509) KJS: Compiler generates native JS operator == for comparing values with Any type ##### Native - [`KT-60230`](https://youtrack.jetbrains.com/issue/KT-60230) Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3 - [`KT-60758`](https://youtrack.jetbrains.com/issue/KT-60758) Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4 ##### Native. C and ObjC Import - [`KT-59167`](https://youtrack.jetbrains.com/issue/KT-59167) Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1 ##### Tools. Gradle - [`KT-61147`](https://youtrack.jetbrains.com/issue/KT-61147) Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson - [`KT-60543`](https://youtrack.jetbrains.com/issue/KT-60543) NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtension ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.10.zip | 7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342 | | kotlin-native-linux-x86\_64-1.9.10.tar.gz | 1db3679919f4449514e9d82451e7dfa73558ac9bc80b82579cd74d452c8faa5b | | kotlin-native-macos-x86\_64-1.9.10.tar.gz | f5650f2560438a692803d8fe07124529c19f1972f84fe09cfa2329b93f43828d | | kotlin-native-macos-aarch64-1.9.10.tar.gz | d2cf5a484ac0808ab29fd3f6099df7c07330f81f3cbab949947e42e36138c3de | | kotlin-native-windows-x86\_64-1.9.10.zip | a34d56661455e94e1ba4dd09ec3c1adac6148fdedcf55eefb9a79c8ed01ff02c | ### [`v1.9.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.9.0): Kotlin 1.9.0 ##### Changelog ##### Analysis API ##### New Features - [`KT-57930`](https://youtrack.jetbrains.com/issue/KT-57930) Analysis API: provide an API for extending Kotlin resolution - [`KT-57636`](https://youtrack.jetbrains.com/issue/KT-57636) K2: Add the return type of K2 reference shortener AA `ShortenCommand::invokeShortening()` e.g., `ShorteningResultInfo` to allow callers to access the shortening result PSI ##### Fixes - [`KT-58249`](https://youtrack.jetbrains.com/issue/KT-58249) Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful - [`KT-55626`](https://youtrack.jetbrains.com/issue/KT-55626) Impossible to restore symbol by psi from script file - [`KT-57314`](https://youtrack.jetbrains.com/issue/KT-57314) LL FIR: Combine `LLFirProvider$SymbolProvider`s in session dependencies (optimization) - [`KT-55527`](https://youtrack.jetbrains.com/issue/KT-55527) K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately - [`KT-55329`](https://youtrack.jetbrains.com/issue/KT-55329) LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration - [`KT-50732`](https://youtrack.jetbrains.com/issue/KT-50732) LL API: fix compiler based tests - [`KT-57850`](https://youtrack.jetbrains.com/issue/KT-57850) K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol - [`KT-56543`](https://youtrack.jetbrains.com/issue/KT-56543) LL FIR: rework lazy transformers so transformers modify only declarations they suppose to - [`KT-56721`](https://youtrack.jetbrains.com/issue/KT-56721) K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update - [`KT-50253`](https://youtrack.jetbrains.com/issue/KT-50253) Analysis API: Solve issues with ProcessCancelledException - [`KT-56800`](https://youtrack.jetbrains.com/issue/KT-56800) K2 IDE: optimize deprecation calculation for symbols - [`KT-55006`](https://youtrack.jetbrains.com/issue/KT-55006) Analysis API does not transform Java type refs for callable symbol return types - [`KT-57256`](https://youtrack.jetbrains.com/issue/KT-57256) AA FIR: Reduce lazy resolve phase for deprecation status - [`KT-57619`](https://youtrack.jetbrains.com/issue/KT-57619) K2: CFG for class initializer is not correctly built in reversed resolve mode - [`KT-58141`](https://youtrack.jetbrains.com/issue/KT-58141) K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type - [`KT-57462`](https://youtrack.jetbrains.com/issue/KT-57462) Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field - [`KT-54864`](https://youtrack.jetbrains.com/issue/KT-54864) Analysis API: add function to get expect KtSymbol list by actual KtSymbol - [`KT-56763`](https://youtrack.jetbrains.com/issue/KT-56763) Analysis API: `.KtSourceModuleImpl is missing in the map.` on symbol restore when symbol cannot be seen from the use-site module - [`KT-56617`](https://youtrack.jetbrains.com/issue/KT-56617) Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol - [`KT-54430`](https://youtrack.jetbrains.com/issue/KT-54430) K2: .getAllOverriddenSymbols() returns invalid results ##### Backend. Native. Debug - [`KT-55440`](https://youtrack.jetbrains.com/issue/KT-55440) Kotlin/Native debugger: inline function parameters are not visible during debugging ##### Backend. Wasm - [`KT-58293`](https://youtrack.jetbrains.com/issue/KT-58293) Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow - [`KT-58931`](https://youtrack.jetbrains.com/issue/KT-58931) Wasm tests are failing to start on Kotlin 1.9.0-Beta - [`KT-58188`](https://youtrack.jetbrains.com/issue/KT-58188) Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter - [`KT-57136`](https://youtrack.jetbrains.com/issue/KT-57136) K/Wasm: Restrict non-external types in JS interop - [`KT-57060`](https://youtrack.jetbrains.com/issue/KT-57060) Clarify the lack of support for dynamic in Kotlin/Wasm - [`KT-56955`](https://youtrack.jetbrains.com/issue/KT-56955) K/Wasm: Support restricted version of K/JS `js(code)` - [`KT-57276`](https://youtrack.jetbrains.com/issue/KT-57276) Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support - [`KT-56976`](https://youtrack.jetbrains.com/issue/KT-56976) K/Wasm bug with calling override of external function with default parameters ##### Compiler ##### New Features - [`KT-55333`](https://youtrack.jetbrains.com/issue/KT-55333) Allow secondary constructors in value classes with bodies - [`KT-54944`](https://youtrack.jetbrains.com/issue/KT-54944) `@Volatile` support in native - [`KT-54746`](https://youtrack.jetbrains.com/issue/KT-54746) Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes - [`KT-47902`](https://youtrack.jetbrains.com/issue/KT-47902) Do not propagate method deprecation through overrides - [`KT-29378`](https://youtrack.jetbrains.com/issue/KT-29378) K2: rework warnings/errors for equality/identity operators on incompatible types - [`KT-57477`](https://youtrack.jetbrains.com/issue/KT-57477) False-positive overload resolution ambiguity in case of lambda without arguments - [`KT-57010`](https://youtrack.jetbrains.com/issue/KT-57010) Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation - [`KT-55691`](https://youtrack.jetbrains.com/issue/KT-55691) K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds) - [`KT-46288`](https://youtrack.jetbrains.com/issue/KT-46288) Unexpected behavior of extension function on lambda with suspend receiver - [`KT-24779`](https://youtrack.jetbrains.com/issue/KT-24779) Inconsistent smart cast behavior for bound data flow values ##### Performance Improvements - [`KT-23397`](https://youtrack.jetbrains.com/issue/KT-23397) Optimize out field for property delegate when it's safe (JVM) - [`KT-56906`](https://youtrack.jetbrains.com/issue/KT-56906) FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders - [`KT-56276`](https://youtrack.jetbrains.com/issue/KT-56276) LanguageVersion.getVersionString() allocates 5k objects on project opening ##### Fixes - [`KT-57784`](https://youtrack.jetbrains.com/issue/KT-57784) "NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map - [`KT-55217`](https://youtrack.jetbrains.com/issue/KT-55217) K2: support callable reference conversions on top-level expressions - [`KT-57232`](https://youtrack.jetbrains.com/issue/KT-57232) K2: build Space JVM (master) - [`KT-59079`](https://youtrack.jetbrains.com/issue/KT-59079) "AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter - [`KT-58837`](https://youtrack.jetbrains.com/issue/KT-58837) Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin - [`KT-57602`](https://youtrack.jetbrains.com/issue/KT-57602) K2: Rework member scope of types having projection arguments for covariant parameters - [`KT-55171`](https://youtrack.jetbrains.com/issue/KT-55171) Put new contracts syntax under a feature flag - [`KT-58719`](https://youtrack.jetbrains.com/issue/KT-58719) K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class - [`KT-56030`](https://youtrack.jetbrains.com/issue/KT-56030) \[K2/N] Support Objective-C overloading by param names only - [`KT-57510`](https://youtrack.jetbrains.com/issue/KT-57510) K2: Data class equals/hashCode/toString methods are not written to Klib metadata - [`KT-56331`](https://youtrack.jetbrains.com/issue/KT-56331) K2: compiler backend crash on usage of expected function with default arguments - [`KT-53846`](https://youtrack.jetbrains.com/issue/KT-53846) K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver - [`KT-58621`](https://youtrack.jetbrains.com/issue/KT-58621) K2: Private class shadows public function defined in the same package - [`KT-59102`](https://youtrack.jetbrains.com/issue/KT-59102) K2: constant evaluator does not provide Long type on shl - [`KT-59066`](https://youtrack.jetbrains.com/issue/KT-59066) \[K2] delegation leads to "IllegalStateException: Expected some types" - [`KT-56074`](https://youtrack.jetbrains.com/issue/KT-56074) K2: build Space JVM (snapshot 2022.3) - [`KT-58787`](https://youtrack.jetbrains.com/issue/KT-58787) KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate - [`KT-57022`](https://youtrack.jetbrains.com/issue/KT-57022) K2 IllegalStateException in signature computation - [`KT-56792`](https://youtrack.jetbrains.com/issue/KT-56792) K2: build kotlinpoet - [`KT-57373`](https://youtrack.jetbrains.com/issue/KT-57373) K2: FIR properties synthesized when implementing interface by delegation don't have accessors - [`KT-56583`](https://youtrack.jetbrains.com/issue/KT-56583) K1: Implement opt-in for integer cinterop conversions - [`KT-59030`](https://youtrack.jetbrains.com/issue/KT-59030) \[PL] Workaround for broken `@Deprecated` annotations in c-interop KLIBs - [`KT-58618`](https://youtrack.jetbrains.com/issue/KT-58618) K2: Local property delegates cannot infer generic return type - [`KT-36770`](https://youtrack.jetbrains.com/issue/KT-36770) Prohibit unsafe calls with expected `@NotNull` T and given Kotlin generic parameter with nullable bound - [`KT-56739`](https://youtrack.jetbrains.com/issue/KT-56739) K2: build Space iOS - [`KT-57131`](https://youtrack.jetbrains.com/issue/KT-57131) K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer - [`KT-58137`](https://youtrack.jetbrains.com/issue/KT-58137) K2: ISE "Usage of default value argument for this annotation is not yet possible" when instantiating Kotlin annotation with default parameter from another module - [`KT-58897`](https://youtrack.jetbrains.com/issue/KT-58897) K2: False positive unresolved reference with same-named enum class and its entry - [`KT-40903`](https://youtrack.jetbrains.com/issue/KT-40903) Forbid actual member in expect class - [`KT-30905`](https://youtrack.jetbrains.com/issue/KT-30905) Expect var property with default public setter matches with actual var property with private setter - [`KT-56172`](https://youtrack.jetbrains.com/issue/KT-56172) K2: Fix reporting of PRIVATE_CLASS_MEMBER_FROM_INLINE error - [`KT-56171`](https://youtrack.jetbrains.com/issue/KT-56171) Implement deprecation warning for missing PRIVATE_CLASS_MEMBER_FROM_INLINE error - [`KT-27261`](https://youtrack.jetbrains.com/issue/KT-27261) Contracts for infix functions don't work (for receivers and parameters) - [`KT-56927`](https://youtrack.jetbrains.com/issue/KT-56927) Enum with secondary constructor can't be compiled with K2 using JS/Native backend - [`KT-53568`](https://youtrack.jetbrains.com/issue/KT-53568) Partial linkage: absent class as type parameter bound causes failure of `compileProductionExecutableKotlinJs` - [`KT-53608`](https://youtrack.jetbrains.com/issue/KT-53608) Partial linkage: Kotlin/JS fails with IllegalStateException: "Validation failed in file" when overridden declaration was visible, but now private - [`KT-53663`](https://youtrack.jetbrains.com/issue/KT-53663) Partial linkage: usage of property which becomes abstract: no IrLinkageError, but AssertionError in Native backend instead - [`KT-56013`](https://youtrack.jetbrains.com/issue/KT-56013) K2. a set of errors about local properties are missing - [`KT-53939`](https://youtrack.jetbrains.com/issue/KT-53939) Partial linkage: with turning object into class link*Native and js*Test tasks fail - [`KT-53938`](https://youtrack.jetbrains.com/issue/KT-53938) Partial linkage: with turning interface into class and using as second parent Native build fails - [`KT-53941`](https://youtrack.jetbrains.com/issue/KT-53941) Partial linkage: with turning class into object accessing member via parameterless constructor does not fail - [`KT-53970`](https://youtrack.jetbrains.com/issue/KT-53970) Partial linkage: on turning nested class into inner JS tasks are successful, Native build fails - [`KT-53971`](https://youtrack.jetbrains.com/issue/KT-53971) Partial linkage: turning inner class into nested: without usage in executable Native is successful, JavaScript fails - [`KT-53972`](https://youtrack.jetbrains.com/issue/KT-53972) Partial linkage: turning inner class into nested: with usage in executable Native fails with NPE in backend - [`KT-54045`](https://youtrack.jetbrains.com/issue/KT-54045) Partial linkage: turning class into type alias + calculating implicit function type: build fails with UninitializedPropertyAccessException: "lateinit property parent has not been initialized" - [`KT-54046`](https://youtrack.jetbrains.com/issue/KT-54046) Partial linkage: turning type alias into class + using it as type: build fails with AssertionError: "Expected exactly one delegating constructor call but none encountered" - [`KT-53887`](https://youtrack.jetbrains.com/issue/KT-53887) Partial linkage: turning from enum to regular class + reference to enum contant causes compileProductionExecutableKotlinJs fail with IllegalStateException - [`KT-54047`](https://youtrack.jetbrains.com/issue/KT-54047) Partial linkage: reference to removed enum const causes JS fail with "IllegalStateException: Validation failed in file" - [`KT-54048`](https://youtrack.jetbrains.com/issue/KT-54048) Partial linkage: reference to removed enum const in runtime causes Native fail with IllegalStateException at IrBindablePublicSymbolBase.getOwner() - [`KT-53995`](https://youtrack.jetbrains.com/issue/KT-53995) Partial linkage: on turning class to abstract and direct constructor call Naive fails, JavaScript is successful - [`KT-43527`](https://youtrack.jetbrains.com/issue/KT-43527) `@ExtensionFunctionType` is allowed on function types with no parameters and leads to backend exception - [`KT-55316`](https://youtrack.jetbrains.com/issue/KT-55316) K2. IllegalStateException on incorrect import directive name - [`KT-57570`](https://youtrack.jetbrains.com/issue/KT-57570) Remove source code excerpts from platform type nullability assertion exceptions - [`KT-56073`](https://youtrack.jetbrains.com/issue/KT-56073) K2: build Exposed - [`KT-47932`](https://youtrack.jetbrains.com/issue/KT-47932) Report errors on cycles in annotation parameter types - [`KT-38871`](https://youtrack.jetbrains.com/issue/KT-38871) Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property - [`KT-46344`](https://youtrack.jetbrains.com/issue/KT-46344) No error for a super class constructor call on a function interface in supertypes list - [`KT-56609`](https://youtrack.jetbrains.com/issue/KT-56609) K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and `@Nullable` annotation Java parameter - [`KT-56656`](https://youtrack.jetbrains.com/issue/KT-56656) K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations - [`KT-58332`](https://youtrack.jetbrains.com/issue/KT-58332) K2: local fun with suspend type is not marked as suspend in IR - [`KT-57991`](https://youtrack.jetbrains.com/issue/KT-57991) K2: Modifier 'suspend' is not applicable to 'anonymous function' - [`KT-54294`](https://youtrack.jetbrains.com/issue/KT-54294) K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches - [`KT-58564`](https://youtrack.jetbrains.com/issue/KT-58564) \[PL] Annotations with unlinked parameters are not removed - [`KT-52597`](https://youtrack.jetbrains.com/issue/KT-52597) Provide Alpha Support for Multiplatform in the K2 platform - [`KT-58523`](https://youtrack.jetbrains.com/issue/KT-58523) K2: reference is resolved to imported type-alias instead of identically named top-level property - [`KT-57098`](https://youtrack.jetbrains.com/issue/KT-57098) Native: avoid object initialization while accessing const val - [`KT-57973`](https://youtrack.jetbrains.com/issue/KT-57973) 32-th default value in inline classes override function is not used - [`KT-57714`](https://youtrack.jetbrains.com/issue/KT-57714) "IllegalStateException: \<B::!>" using reified generics - [`KT-57810`](https://youtrack.jetbrains.com/issue/KT-57810) `toString` of object erroneously considered as constant function in string concatenation - [`KT-58076`](https://youtrack.jetbrains.com/issue/KT-58076) K2: Incorrect inference of type of labeled receiver - [`KT-57929`](https://youtrack.jetbrains.com/issue/KT-57929) K2: Arguments of annotations are not calculated in a lot of strange locations - [`KT-54874`](https://youtrack.jetbrains.com/issue/KT-54874) K2. No compilation error with incorrect Comparator invocation - [`KT-55388`](https://youtrack.jetbrains.com/issue/KT-55388) Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated - [`KT-53041`](https://youtrack.jetbrains.com/issue/KT-53041) NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters - [`KT-54829`](https://youtrack.jetbrains.com/issue/KT-54829) Cleanup local types approximation logic - [`KT-58577`](https://youtrack.jetbrains.com/issue/KT-58577) K2: private Kotlin property prevents use of Java set-method from Java-Kotlin-Java hierarchy in another module - [`KT-58587`](https://youtrack.jetbrains.com/issue/KT-58587) MUST_BE_INITIALIZED must take into account effectivelly final - [`KT-58524`](https://youtrack.jetbrains.com/issue/KT-58524) K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver - [`KT-53929`](https://youtrack.jetbrains.com/issue/KT-53929) Enum.entries: consider changing scope behavior in K1 - [`KT-58520`](https://youtrack.jetbrains.com/issue/KT-58520) K2: FIR2IR: ISE during const evaluation of operator times with exposed - [`KT-57905`](https://youtrack.jetbrains.com/issue/KT-57905) K1: resolution to base class's Java field instead of derived class's Kotlin property is not deprecated in case of different types - [`KT-56662`](https://youtrack.jetbrains.com/issue/KT-56662) K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class - [`KT-57770`](https://youtrack.jetbrains.com/issue/KT-57770) K2: Support generation of serializer if base class for serializable class declared in different module - [`KT-58375`](https://youtrack.jetbrains.com/issue/KT-58375) Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments - [`KT-48870`](https://youtrack.jetbrains.com/issue/KT-48870) \[FIR] Different behavior for explicit receiver resolution inside delegated constructors - [`KT-58013`](https://youtrack.jetbrains.com/issue/KT-58013) K2: "Not enough information to infer type variable T" when using assert non-null (!!) and delegation - [`KT-58365`](https://youtrack.jetbrains.com/issue/KT-58365) K2: Fix stub types leakage in builder inference caused by implicit receiver type update with partially resolved calls (IGNORE_LEAKED_INTERNAL_TYPES for stub types) - [`KT-58214`](https://youtrack.jetbrains.com/issue/KT-58214) Continuation parameter only exists in lowered suspend functions, but function origin is LOCAL_FUNCTION_FOR_LAMBDA - [`KT-58030`](https://youtrack.jetbrains.com/issue/KT-58030) K2/MPP/JVM: compiler backend crash on super-call to indirectly inherited Java method - [`KT-58135`](https://youtrack.jetbrains.com/issue/KT-58135) K2: Priority of extension property is lower than ordinary property - [`KT-57181`](https://youtrack.jetbrains.com/issue/KT-57181) \[K1/N, K2/N] Expect and Actual funs have different IdSignature.CommonSignature, if Expect has default argument - [`KT-58219`](https://youtrack.jetbrains.com/issue/KT-58219) K2/MPP/metadata: false-positive invisible reference error in Native-shared source set - [`KT-58145`](https://youtrack.jetbrains.com/issue/KT-58145) K2/MPP/metadata: compiler FIR crash on inheritance of a generic class with property by actual-class from Native-shared source set - [`KT-56023`](https://youtrack.jetbrains.com/issue/KT-56023) Constant operations (e.g. division) are not constant in K2 (JS, Native) - [`KT-57354`](https://youtrack.jetbrains.com/issue/KT-57354) In suspend function default arguments are sometimes not deleted in IR - [`KT-55242`](https://youtrack.jetbrains.com/issue/KT-55242) K2/MPP: basic build/link functionality - [`KT-57979`](https://youtrack.jetbrains.com/issue/KT-57979) K2: Unresolved reference error when assigning to Java synthetic property with a different nullability getter - [`KT-57543`](https://youtrack.jetbrains.com/issue/KT-57543) K2 reports DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE - [`KT-58142`](https://youtrack.jetbrains.com/issue/KT-58142) K2: val parameter with more specific type is lower priority - [`KT-48546`](https://youtrack.jetbrains.com/issue/KT-48546) Missed TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM error at plus-assign - [`KT-57854`](https://youtrack.jetbrains.com/issue/KT-57854) RECEIVER_TYPE_MISMATCH on synthetic property from mutually recursive Java generics with disabled ProperTypeInferenceConstraintsProcessing - [`KT-54518`](https://youtrack.jetbrains.com/issue/KT-54518) False negative NON_PUBLIC_CALL_FROM_PUBLIC_INLINE when calling internal method of super class - [`KT-58025`](https://youtrack.jetbrains.com/issue/KT-58025) K2: Argument type mismatch when using Springs HandlerMethodArgumentResolver - [`KT-58259`](https://youtrack.jetbrains.com/issue/KT-58259) Unexpected unresolved function call with obvious invoke-convention desugaring - [`KT-57135`](https://youtrack.jetbrains.com/issue/KT-57135) K2: Fir should take into account an annotation's allowed targets as well as the use-site target when deciding whether it applies to a property, a field, or a constructor parameter - [`KT-57069`](https://youtrack.jetbrains.com/issue/KT-57069) K2: Method kind in metadata is DECLARATION when DELEGATION is used in K1 - [`KT-57958`](https://youtrack.jetbrains.com/issue/KT-57958) K2: Initializer type mismatch when using extension property on type with star projection - [`KT-58149`](https://youtrack.jetbrains.com/issue/KT-58149) K2: New inference error with buildList - [`KT-58008`](https://youtrack.jetbrains.com/issue/KT-58008) K2: "Cannot find cached type parameter by FIR symbol: T" on suspend function with generic and nested class - [`KT-57835`](https://youtrack.jetbrains.com/issue/KT-57835) K2: compiler crash on lambda with dynamic receiver - [`KT-57601`](https://youtrack.jetbrains.com/issue/KT-57601) K2: Builtin function `extensionToString` can't be accessed - [`KT-57655`](https://youtrack.jetbrains.com/issue/KT-57655) K2: ImplicitIntegerCoercion is not working for named arguments - [`KT-58143`](https://youtrack.jetbrains.com/issue/KT-58143) K2: overload resolution ambiguity inside dynamic lambda - [`KT-58132`](https://youtrack.jetbrains.com/issue/KT-58132) K2: Implicit int constant to long converion crashes FirSerializer - [`KT-57378`](https://youtrack.jetbrains.com/issue/KT-57378) Partial linkage: Run codegen box tests for Native & JS with enabled PL - [`KT-58207`](https://youtrack.jetbrains.com/issue/KT-58207) K2: Handle result of completion of synthetic call with callable reference argument - [`KT-56549`](https://youtrack.jetbrains.com/issue/KT-56549) K2: Reference to Java sealed class fails to compile - [`KT-57994`](https://youtrack.jetbrains.com/issue/KT-57994) K2: Type inference failed on function reference - [`KT-58099`](https://youtrack.jetbrains.com/issue/KT-58099) interop0 test fails with error "type kotlin.String? is not supported here: doesn't correspond to any C type" - [`KT-57671`](https://youtrack.jetbrains.com/issue/KT-57671) Synthetic $EntriesMappings declaration is public and generated even for enums from current module on IC - [`KT-56517`](https://youtrack.jetbrains.com/issue/KT-56517) K2: Reference to Java record fails to compile: "unresolved reference", "Overload resolution ambiguity between candidates" - [`KT-58163`](https://youtrack.jetbrains.com/issue/KT-58163) FIR: deserialized default property setter and getter must have FirResolvePhase.ANALYZED_DEPENDENCIES phase - [`KT-55646`](https://youtrack.jetbrains.com/issue/KT-55646) K2: Report definitely non-nullable as reified error - [`KT-58043`](https://youtrack.jetbrains.com/issue/KT-58043) k2: Expect call is not removed from IR with nullability-based overload - [`KT-56442`](https://youtrack.jetbrains.com/issue/KT-56442) K2: Make sure K2 has the same behavior for defaults with overrides as K1 has - [`KT-55904`](https://youtrack.jetbrains.com/issue/KT-55904) Fix tests for volatile annotation on K2 - [`KT-57928`](https://youtrack.jetbrains.com/issue/KT-57928) K2: Arguments of annotations on constructor value parameter are not calculated - [`KT-57814`](https://youtrack.jetbrains.com/issue/KT-57814) K2: Argument type mismatch with delegating property - [`KT-56490`](https://youtrack.jetbrains.com/issue/KT-56490) Implement deprecation for an anonymous type exposed from inline functions with type argument - [`KT-57781`](https://youtrack.jetbrains.com/issue/KT-57781) K2: Generated serializer is invisible in a non-JVM test source set - [`KT-57807`](https://youtrack.jetbrains.com/issue/KT-57807) K2: Symbol already bound exception for arrayOf function from IrBuiltInsOverFir - [`KT-57962`](https://youtrack.jetbrains.com/issue/KT-57962) K2: No set method providing array access on dynamic - [`KT-57353`](https://youtrack.jetbrains.com/issue/KT-57353) K2: unresolved reference when using fully qualified object declaration name as an expression, when a declaration package is from another klib and has at least two name segments - [`KT-57899`](https://youtrack.jetbrains.com/issue/KT-57899) K2: compiler FIR2IR crash on anonymous object with inheritance by delegation to value of smart-casted type parameter - [`KT-57988`](https://youtrack.jetbrains.com/issue/KT-57988) K2: compiler exception on get operator on dynamic this - [`KT-57960`](https://youtrack.jetbrains.com/issue/KT-57960) K2: incorrect type inference in lambda with dynamic receiver - [`KT-57923`](https://youtrack.jetbrains.com/issue/KT-57923) K2: Optional expectation annotation crashes const evaluator - [`KT-56511`](https://youtrack.jetbrains.com/issue/KT-56511) K1: false negative SMARTCAST_IMPOSSIBLE when alien constructor property is accessed from a private class - [`KT-58033`](https://youtrack.jetbrains.com/issue/KT-58033) K2 reports Constructor must be private or protected in sealed class in actual sealed class if its constructor has own actual declaration - [`KT-58061`](https://youtrack.jetbrains.com/issue/KT-58061) K2: false-positive unsupported feature error on callable references to Java methods from annotation interfaces - [`KT-55079`](https://youtrack.jetbrains.com/issue/KT-55079) Refactor DiagnosticReporterByTrackingStrategy and fix some "diagnostic into black hole" problems - [`KT-57889`](https://youtrack.jetbrains.com/issue/KT-57889) K2: false-positive lack of information for inline function's type parameter in case of builder-style inference from caller function's return expression - [`KT-57961`](https://youtrack.jetbrains.com/issue/KT-57961) K2: Unresolved reference using dynamic lambda parameter - [`KT-57911`](https://youtrack.jetbrains.com/issue/KT-57911) K2: Contracts are not inherited by substitution overrides - [`KT-57880`](https://youtrack.jetbrains.com/issue/KT-57880) K2: false-positive argument type mismatch due to lambda receiver shadowing labeled outer lambda receiver when assigning lambda to variable - [`KT-57986`](https://youtrack.jetbrains.com/issue/KT-57986) K2: NPE on building Space - [`KT-57873`](https://youtrack.jetbrains.com/issue/KT-57873) K2: compiler FIR serialization crash on builder-style inference from lambda's return type - [`KT-57941`](https://youtrack.jetbrains.com/issue/KT-57941) K2: Assertion error on loading serializable class with non-serializable property compiled with K1 compiler - [`KT-57947`](https://youtrack.jetbrains.com/issue/KT-57947) K2: Incorrect resolution results when property type for invokeExtension is not inferred - [`KT-58002`](https://youtrack.jetbrains.com/issue/KT-58002) K2: compiler FIR serialization crash on platform type with type-targeted Java annotation with Java enum as argument - [`KT-57263`](https://youtrack.jetbrains.com/issue/KT-57263) K2/MPP/JVM: compiler codegen crash on expect-property as default argument for expect-function's parameter - [`KT-56942`](https://youtrack.jetbrains.com/issue/KT-56942) K2: False-negative NO_ELSE_IN_WHEN if subject is flexible type - [`KT-56687`](https://youtrack.jetbrains.com/issue/KT-56687) Unexpected behaviour with enum entries when using outdated stdlib - [`KT-56398`](https://youtrack.jetbrains.com/issue/KT-56398) K2/MPP: compiler backend crash on inheritance from expected interface - [`KT-57806`](https://youtrack.jetbrains.com/issue/KT-57806) K2: string interpolation as annotation parameter causes error - [`KT-57611`](https://youtrack.jetbrains.com/issue/KT-57611) K2: Annotation arguments are not evaluated - [`KT-56190`](https://youtrack.jetbrains.com/issue/KT-56190) \[K2/N] Const initializers are not serialized to klib - [`KT-57843`](https://youtrack.jetbrains.com/issue/KT-57843) K2: Missing diagnostic when calling constructor through typealias whose expansion has a deprecation - [`KT-57350`](https://youtrack.jetbrains.com/issue/KT-57350) FIR: deprecation diagnostic is not reported on a super class call - [`KT-57532`](https://youtrack.jetbrains.com/issue/KT-57532) K2: IrActualizer doesn't handle properties overloaded by extension receiver correctly - [`KT-57776`](https://youtrack.jetbrains.com/issue/KT-57776) K2: Suppressing "INVISIBLE_REFERENCE" leads to AssertionError: Unexpected IR element found during code generation - [`KT-57769`](https://youtrack.jetbrains.com/issue/KT-57769) \[K2] Load properties in proper order for classes compiled with kotlinx.serialization and LV < 2.0 - [`KT-57879`](https://youtrack.jetbrains.com/issue/KT-57879) K2: compiler FIR serialization crash on passing Java constants as arguments to type-targeted annotations - [`KT-57893`](https://youtrack.jetbrains.com/issue/KT-57893) K1/K2 inconsistency on smart casts of internally visible properties in friend modules - [`KT-57876`](https://youtrack.jetbrains.com/issue/KT-57876) K2: stack overflow in compiler FIR deserialization on nested type-target annotation class used in enclosing class - [`KT-57839`](https://youtrack.jetbrains.com/issue/KT-57839) K2: Compiler crash on lambda returning anonymous object with implemented lambda - [`KT-57822`](https://youtrack.jetbrains.com/issue/KT-57822) K2: Can't refer to external interface from class literal - [`KT-57809`](https://youtrack.jetbrains.com/issue/KT-57809) K2: No value passed for parameter of external class - [`KT-56383`](https://youtrack.jetbrains.com/issue/KT-56383) Build intellij master with LV 1.9 - [`KT-57735`](https://youtrack.jetbrains.com/issue/KT-57735) K2: MPP: K2 reports hides member of supertype and needs 'override' modifier for the function with `@PlatformDependent` annotation when there is an empty linux target in project - [`KT-55056`](https://youtrack.jetbrains.com/issue/KT-55056) Builder inference causes incorrect type inference result in related call - [`KT-57689`](https://youtrack.jetbrains.com/issue/KT-57689) K2: Unresolved reference to nested typealias in KLIB - [`KT-57665`](https://youtrack.jetbrains.com/issue/KT-57665) K2: incorrect resolution of dynamic type - [`KT-57381`](https://youtrack.jetbrains.com/issue/KT-57381) K2/MPP/Native: impossible to override Any::equals with non-external function - [`KT-57654`](https://youtrack.jetbrains.com/issue/KT-57654) K2: Lambda with receiver deserialized as lambda without receiver during metadata compilation - [`KT-57662`](https://youtrack.jetbrains.com/issue/KT-57662) K2: The error message is poorly formatted and not precise in case of NO_ACTUAL_CLASS_MEMBER_FOR_EXPECTED_CLASS error and `@Suppress` is used - [`KT-57763`](https://youtrack.jetbrains.com/issue/KT-57763) FirExtensionRegistrar extension point broken - [`KT-57312`](https://youtrack.jetbrains.com/issue/KT-57312) K2: IR interpreter fails on string interpolation with `const val` from a klib involved - [`KT-57768`](https://youtrack.jetbrains.com/issue/KT-57768) Don't decompile code to search for annotation arguments - [`KT-55628`](https://youtrack.jetbrains.com/issue/KT-55628) Diagnostics for kotlin.concurrent.Volatile annotation applicability - [`KT-55860`](https://youtrack.jetbrains.com/issue/KT-55860) K2. \[CONFLICTING_INHERITED_MEMBERS] for inheritor of a class with overloaded generic function - [`KT-53491`](https://youtrack.jetbrains.com/issue/KT-53491) K2: Implement "Operator '==' cannot be applied to 'Long' and 'Int'" error - [`KT-55804`](https://youtrack.jetbrains.com/issue/KT-55804) K2: UNSAFE_CALL Non-nullable generic marked as nullable even if non-null asserted - [`KT-57682`](https://youtrack.jetbrains.com/issue/KT-57682) K2: Incorrect composing of signatures for calls on dynamic types - [`KT-55405`](https://youtrack.jetbrains.com/issue/KT-55405) K2: false-negative INVISIBLE_REFERENCE in import directives - [`KT-54781`](https://youtrack.jetbrains.com/issue/KT-54781) K2: no error on unresolved import statement with more than one package - [`KT-57635`](https://youtrack.jetbrains.com/issue/KT-57635) K2/MPP: Expect constructors are not considered as expect during metadata deserialization - [`KT-57376`](https://youtrack.jetbrains.com/issue/KT-57376) K2/MPP: false-positive K/JS diagnostic in absence of K/JS target when sharing a source set between K/JVM and K/Native - [`KT-55902`](https://youtrack.jetbrains.com/issue/KT-55902) K2: Support ImplicitIntegerCoercion annotation - [`KT-56577`](https://youtrack.jetbrains.com/issue/KT-56577) Migrate Native KLIB ABI compatibility tests to K2 - [`KT-56603`](https://youtrack.jetbrains.com/issue/KT-56603) \[K2/N] Segfault invoking fun from binary compatible klib - [`KT-57457`](https://youtrack.jetbrains.com/issue/KT-57457) K2: the error message is not quite informative in case of EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR - [`KT-57568`](https://youtrack.jetbrains.com/issue/KT-57568) K2: K2, Native reports overload resolution ambiguity - [`KT-57446`](https://youtrack.jetbrains.com/issue/KT-57446) K2: Adapter function reference is not generated inside when expression - [`KT-54894`](https://youtrack.jetbrains.com/issue/KT-54894) K2: False positive RETURN_TYPE_MISMATCH on function which returns a functional type with `@UnsafeVariance` argument - [`KT-57001`](https://youtrack.jetbrains.com/issue/KT-57001) K2 compilation fails due to nullabillity subtyping not working properly - [`KT-57271`](https://youtrack.jetbrains.com/issue/KT-57271) Delay forbidding inference to an empty intersection to version 2.0 - [`KT-57209`](https://youtrack.jetbrains.com/issue/KT-57209) K2: type parameters are available in companion object scope - [`KT-50550`](https://youtrack.jetbrains.com/issue/KT-50550) False positive NO_ELSE_IN_WHEN with annotated `when` branch condition - [`KT-57431`](https://youtrack.jetbrains.com/issue/KT-57431) K2 MPP JS: Compiler crash on transitive common dependencies - [`KT-57456`](https://youtrack.jetbrains.com/issue/KT-57456) K2 reports uninitializied variable in enum class when variable is used in lambda and defined in companion object - [`KT-57583`](https://youtrack.jetbrains.com/issue/KT-57583) K2/MPP/JS\&Native: FIR2IR compiler crash on reference to Any method inherited by expect-classifier - [`KT-56336`](https://youtrack.jetbrains.com/issue/KT-56336) \[K2/N] Multiplatform test fails with unexpected "actual declaration has no corresponding expected declaration" compiler error - [`KT-57556`](https://youtrack.jetbrains.com/issue/KT-57556) K2: Rename error 'This API is not available after FIR' - [`KT-23447`](https://youtrack.jetbrains.com/issue/KT-23447) Integer.toChar compiles to missing method - [`KT-46465`](https://youtrack.jetbrains.com/issue/KT-46465) Deprecate and make open Number.toChar() - [`KT-49017`](https://youtrack.jetbrains.com/issue/KT-49017) Forbid usages of super or super<Some> if in fact it accesses an abstract member - [`KT-56119`](https://youtrack.jetbrains.com/issue/KT-56119) BinaryVersion.isCompatible binary compatibility is broken - [`KT-57369`](https://youtrack.jetbrains.com/issue/KT-57369) K2/MPP: supertypes established in actual-classifiers from other source sets are not visible - [`KT-55469`](https://youtrack.jetbrains.com/issue/KT-55469) \[K2/N] equals(Double,Double) and equals(Boolean,Boolean) are not found - [`KT-57250`](https://youtrack.jetbrains.com/issue/KT-57250) K2: the metadata is serialized for an `expect` class even if the `actual` class is present when compiling to klib - [`KT-56660`](https://youtrack.jetbrains.com/issue/KT-56660) K2/MPP: compiler backend crash on invoking a K/Common constructor in K/JS code - [`KT-55055`](https://youtrack.jetbrains.com/issue/KT-55055) K1: Builder inference violates upper bound - [`KT-57316`](https://youtrack.jetbrains.com/issue/KT-57316) Initialize Enum.entries eagerly: avoid using invokedynamics - [`KT-57491`](https://youtrack.jetbrains.com/issue/KT-57491) Kotlin synthetic parameter looks ordinary - [`KT-56846`](https://youtrack.jetbrains.com/issue/KT-56846) K2: incorrect line & symbol numbers in exception reporting - [`KT-56368`](https://youtrack.jetbrains.com/issue/KT-56368) K2/MPP: compiler backend crash on missing actual declaration - [`KT-57104`](https://youtrack.jetbrains.com/issue/KT-57104) K2: false-positive conflicting inherited JVM declarations error despite use of `@JvmName` in another module - [`KT-56747`](https://youtrack.jetbrains.com/issue/KT-56747) \[K2/N] Return type for `lambda: (Any) -> Any` which returns Unit is different for K1 and K2 and return statement is missing with K2 - [`KT-57211`](https://youtrack.jetbrains.com/issue/KT-57211) K2: incorrect "error: an annotation argument must be a compile-time constant" on unsigned array in annotation argument - [`KT-57302`](https://youtrack.jetbrains.com/issue/KT-57302) K2 fails with IllegalStateException on reading inherited property of Java enum - [`KT-57424`](https://youtrack.jetbrains.com/issue/KT-57424) K2 IDE: "By now the annotations argument mapping should have been resolved" exception - [`KT-57241`](https://youtrack.jetbrains.com/issue/KT-57241) K2 MPP: Actualization doesn't work for actual enum that has primary constructor with arguments - [`KT-57210`](https://youtrack.jetbrains.com/issue/KT-57210) K2 MPP: Support of arguments with dynamic type - [`KT-57182`](https://youtrack.jetbrains.com/issue/KT-57182) K2 MPP: Actualization doesn't work for nested objects - [`KT-56344`](https://youtrack.jetbrains.com/issue/KT-56344) K2: Implement correct errors reporting of IrActualizer - [`KT-54405`](https://youtrack.jetbrains.com/issue/KT-54405) K2 compiler allows val redeclaration - [`KT-54531`](https://youtrack.jetbrains.com/issue/KT-54531) \[K2] Uncaught Runtime exception is thrown instead of user friendly error messages with details in case -no-jdk option set to true - [`KT-56926`](https://youtrack.jetbrains.com/issue/KT-56926) K2: incorrect line number generated for class constructor or method with default parameter when comment before - [`KT-56913`](https://youtrack.jetbrains.com/issue/KT-56913) K2: Incorrect line numbers in overriden field getters and setters - [`KT-56982`](https://youtrack.jetbrains.com/issue/KT-56982) K2: Incorrect line number start in when expression - [`KT-56720`](https://youtrack.jetbrains.com/issue/KT-56720) K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance - [`KT-57175`](https://youtrack.jetbrains.com/issue/KT-57175) K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type aliases - [`KT-25694`](https://youtrack.jetbrains.com/issue/KT-25694) Fix reporting of uninitialized parameter in default values of parameters - [`KT-57198`](https://youtrack.jetbrains.com/issue/KT-57198) K2: false-positive type mismatch error on inherited raw-typed class with type parameters in upper bounds of other type parameters - [`KT-15470`](https://youtrack.jetbrains.com/issue/KT-15470) Inconsistency: use-site 'set' target is a compilation error, use-site 'get' target is ok - [`KT-57179`](https://youtrack.jetbrains.com/issue/KT-57179) FIR: preserve prefix increment behavior like in K1 by calling getter twice - [`KT-57405`](https://youtrack.jetbrains.com/issue/KT-57405) K2. Function call ambiguity error when nullable String is passed to function with Spring `@Nullable` annotation in signature - [`KT-57284`](https://youtrack.jetbrains.com/issue/KT-57284) K2: compiler codegen crash at property initialization in constructor after smartcast of dispatch receiver to indirectly derived type - [`KT-57221`](https://youtrack.jetbrains.com/issue/KT-57221) K2: compiler FIR2IR crash on function's unavailable cached type parameter - [`KT-57036`](https://youtrack.jetbrains.com/issue/KT-57036) Unresolved reference: with inferred type of class constructor with extension parameter - [`KT-56177`](https://youtrack.jetbrains.com/issue/KT-56177) K2: FIR should not generate annotation on both property and parameter - [`KT-54990`](https://youtrack.jetbrains.com/issue/KT-54990) NI: Type mismatch when encountering bounded type parameter and projections - [`KT-57065`](https://youtrack.jetbrains.com/issue/KT-57065) K2: overload resolution ambiguity between type-aliased constructor and identically named function - [`KT-49653`](https://youtrack.jetbrains.com/issue/KT-49653) Deprecate and remove Enum.declaringClass synthetic property - [`KT-57190`](https://youtrack.jetbrains.com/issue/KT-57190) K2: false-positive unsafe call error on safe call on type-aliased nullable receiver in SAM-conversion - [`KT-57166`](https://youtrack.jetbrains.com/issue/KT-57166) K2: false-positive val reassignment error when synthetic property with implicitly typed overridden getter is called from implicitly typed member that is declared earlier - [`KT-55828`](https://youtrack.jetbrains.com/issue/KT-55828) \[K2/N]: Fix test fails in OPT mode : `Internal compiler error: no implementation found ... when building itable/vtable` - [`KT-56169`](https://youtrack.jetbrains.com/issue/KT-56169) False negative deprecation warning about future inference error with builder inference - [`KT-56657`](https://youtrack.jetbrains.com/issue/KT-56657) K1/K2: inconsistent behavior in nullability mismatch (Guava hash set/map) - [`KT-57105`](https://youtrack.jetbrains.com/issue/KT-57105) K2: compiler codegen crash at property initialization in constructor after smartcast - [`KT-56379`](https://youtrack.jetbrains.com/issue/KT-56379) K2: build tests for the Kotlin standard library - [`KT-56079`](https://youtrack.jetbrains.com/issue/KT-56079) K2: build YouTrack 2022.3 - [`KT-57092`](https://youtrack.jetbrains.com/issue/KT-57092) K2: false-positive multiple inherited implementations error - [`KT-56696`](https://youtrack.jetbrains.com/issue/KT-56696) K2: Allow to access uninitialized member properties in non-inPlace lambdas in class initialization - [`KT-56354`](https://youtrack.jetbrains.com/issue/KT-56354) K2/MPP: unresolved references to library entities - [`KT-57095`](https://youtrack.jetbrains.com/issue/KT-57095) K2: false-positive lack of type arguments error on raw cast of Base<\*> to Derived<T>: Base\<T?> - [`KT-56630`](https://youtrack.jetbrains.com/issue/KT-56630) FIR: ClassCastException on compilation hierarchy with a raw type - [`KT-57171`](https://youtrack.jetbrains.com/issue/KT-57171) K2: Implement bytecode tests - [`KT-57214`](https://youtrack.jetbrains.com/issue/KT-57214) K2: compiler FIR crash on annotation usage before annotation class declaration - [`KT-57204`](https://youtrack.jetbrains.com/issue/KT-57204) K2: callable reference to mutable property of inherited by delegation superinterface isn't properly resolved - [`KT-57195`](https://youtrack.jetbrains.com/issue/KT-57195) K2: false-positive VAR_TYPE_MISMATCH_ON_OVERRIDE on changing property's platform type to non-nullable type when overriding - [`KT-56814`](https://youtrack.jetbrains.com/issue/KT-56814) K2. PsiElement is null inside IrClass. As a result ClassBuilder defineClass gets null as origin - [`KT-54758`](https://youtrack.jetbrains.com/issue/KT-54758) Deprecate `ClassBuilderInterceptorExtension.interceptClassBuilderFactory` and provide another method without dependency on K1 - [`KT-57253`](https://youtrack.jetbrains.com/issue/KT-57253) K2: clean up callable reference logic in FIR2IR - [`KT-56225`](https://youtrack.jetbrains.com/issue/KT-56225) K2. "BackendException: Backend Internal error: Exception during IR lowering" error on incorrect constructor in inline class - [`KT-56769`](https://youtrack.jetbrains.com/issue/KT-56769) K2. Annotation applicability is ignored during compilation when there's use-site `@target` - [`KT-56616`](https://youtrack.jetbrains.com/issue/KT-56616) K2: cannot infer Java array type properly - [`KT-57247`](https://youtrack.jetbrains.com/issue/KT-57247) K2: false-positive INVALID_TYPE_OF_ANNOTATION_MEMBER on type-aliased vararg property - [`KT-57206`](https://youtrack.jetbrains.com/issue/KT-57206) K2: false-positive val reassignment error on synthetic property from generic class with overridden getter but not setter - [`KT-56519`](https://youtrack.jetbrains.com/issue/KT-56519) K2: Compiler crash on a function reference on companion receiver that inherits from outer class - [`KT-56506`](https://youtrack.jetbrains.com/issue/KT-56506) K1/K2 inconsistency: VAL_REASSIGNMENT on synthetic setter with different nullability - [`KT-56877`](https://youtrack.jetbrains.com/issue/KT-56877) K2: false-positive UNRESOLVED_LABEL for labeled this-expression in contract description - [`KT-56863`](https://youtrack.jetbrains.com/issue/KT-56863) K2: false-positive property initialization analysis errors after smartcast - [`KT-56864`](https://youtrack.jetbrains.com/issue/KT-56864) K2: Unexpected behavior with default parameter inheritance and function reference - [`KT-56665`](https://youtrack.jetbrains.com/issue/KT-56665) K2: false positive RECURSIVE_TYPEALIAS_EXPANSION - [`KT-53966`](https://youtrack.jetbrains.com/issue/KT-53966) K2 does not support SAM conversions with condition into Java/Kotlin functional interfaces - [`KT-56659`](https://youtrack.jetbrains.com/issue/KT-56659) FIR: Increment operator on object leads to exception from resolve - [`KT-56771`](https://youtrack.jetbrains.com/issue/KT-56771) FIR: Increment operator on qualified expressions leads to exception from resolve - [`KT-56759`](https://youtrack.jetbrains.com/issue/KT-56759) K2: False-positive UNRESOLVED_REFERENCE on labeled desctructuring declaration in LT mode - [`KT-56548`](https://youtrack.jetbrains.com/issue/KT-56548) K2: false positive overload resolution ambiguity for Java record constructor - [`KT-56476`](https://youtrack.jetbrains.com/issue/KT-56476) K2: false positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY at inline fun use-site - [`KT-56138`](https://youtrack.jetbrains.com/issue/KT-56138) K2: Illegal conversion of lambda with parameters to ExtensionFunction expected type - [`KT-56448`](https://youtrack.jetbrains.com/issue/KT-56448) K2: False-positive unsafe call due to incorrect inference of smartcasted type - [`KT-55966`](https://youtrack.jetbrains.com/issue/KT-55966) K2: Not enough information to infer type variable K if smartcast is used - [`KT-57168`](https://youtrack.jetbrains.com/issue/KT-57168) K2: compiler FIR2IR crash on synthetic property from generic class with overridden getter but not setter - [`KT-56876`](https://youtrack.jetbrains.com/issue/KT-56876) K2: false-positive UNRESOLVED_REFERENCE for name of nested class in contract description - [`KT-57194`](https://youtrack.jetbrains.com/issue/KT-57194) K2: overload resolution doesn't prioritize Double over Float - [`KT-57067`](https://youtrack.jetbrains.com/issue/KT-57067) Warning about expect/aсtual in the same module doesn't take into account absence of 'actual' modifier - [`KT-56954`](https://youtrack.jetbrains.com/issue/KT-56954) K2: function literals can be passed as arguments to parameters with kotlin.reflect function types - [`KT-55423`](https://youtrack.jetbrains.com/issue/KT-55423) K2: Implement CONTRACT_NOT_ALLOWED - [`KT-56923`](https://youtrack.jetbrains.com/issue/KT-56923) K2: no line number in bytecode when ASTORE exception in catch - [`KT-56829`](https://youtrack.jetbrains.com/issue/KT-56829) K2: compiler FIR2IR crash on passing to function a callable reference to nested class's constructor with default arguments - [`KT-57029`](https://youtrack.jetbrains.com/issue/KT-57029) Per-file caches fail on local inline function in an inline function - [`KT-57085`](https://youtrack.jetbrains.com/issue/KT-57085) K2: `@Suppress` is sensitive to its argument's case - [`KT-57103`](https://youtrack.jetbrains.com/issue/KT-57103) K1: AssertionError: Mismatching type arguments: 0 vs 1 + 0 when calling inline function with callable reference to generic synthetic property - [`KT-57033`](https://youtrack.jetbrains.com/issue/KT-57033) Make KtClassLiteralExpression stub based - [`KT-57035`](https://youtrack.jetbrains.com/issue/KT-57035) Make KtCollectionLiteralExpression stub based - [`KT-40857`](https://youtrack.jetbrains.com/issue/KT-40857) Invalid parameterized types for extension function on parameterized receiver when javaParameters=true - [`KT-56154`](https://youtrack.jetbrains.com/issue/KT-56154) Compiler backend crash on reference to Java synthetic property from generic class - [`KT-56692`](https://youtrack.jetbrains.com/issue/KT-56692) StackOverflow in PrivateInlineFunctionsReturningAnonymousObjectsChecker - [`KT-55879`](https://youtrack.jetbrains.com/issue/KT-55879) Modularized tests: fir.bench.language.version is used as API version, not language version - [`KT-51821`](https://youtrack.jetbrains.com/issue/KT-51821) ClassCastException on anonymous fun interface implementation when unrelated vararg is used - [`KT-56820`](https://youtrack.jetbrains.com/issue/KT-56820) K2: compiler FIR crash on Java field access after smartcast - [`KT-56579`](https://youtrack.jetbrains.com/issue/KT-56579) \[K2/N] IR actualizer crashed with K2 on expect annotation marked with `@OptionalExpectation`, without actual. - [`KT-56750`](https://youtrack.jetbrains.com/issue/KT-56750) K2: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER" when calling typealias method reference - [`KT-55614`](https://youtrack.jetbrains.com/issue/KT-55614) K2: consider serializing static enum members (values/valueOf/entries) to match K1 behavior - [`KT-30507`](https://youtrack.jetbrains.com/issue/KT-30507) Unsound smartcast if null assignment inside index place and plusAssign/minusAssign is used - [`KT-56646`](https://youtrack.jetbrains.com/issue/KT-56646) K2: "IllegalStateException: No single implementation found for: FUN FAKE_OVERRIDE" when compiling a functional interface - [`KT-56334`](https://youtrack.jetbrains.com/issue/KT-56334) K2: can't call expected function with default arguments - [`KT-56514`](https://youtrack.jetbrains.com/issue/KT-56514) K2 should report ACTUAL_TYPE_ALIAS_NOT_TO_CLASS - [`KT-56522`](https://youtrack.jetbrains.com/issue/KT-56522) K2 should report ACTUAL_FUNCTION_WITH_DEFAULT_ARGUMENTS - [`KT-56910`](https://youtrack.jetbrains.com/issue/KT-56910) Exception during IR lowering: Cannot determine lineNumber of element FUN name:cancelProgress - [`KT-56542`](https://youtrack.jetbrains.com/issue/KT-56542) K2: false positive TOO_MANY_ARGUMENTS in VarHandle.set call - [`KT-56861`](https://youtrack.jetbrains.com/issue/KT-56861) FIR: test FirPluginBlackBoxCodegenTestGenerated.testClassWithAllPropertiesConstructor is failing with runtime error - [`KT-56234`](https://youtrack.jetbrains.com/issue/KT-56234) K2: "ISE: Expected value generated with NEW" with inline property setter and noinline parameter - [`KT-56722`](https://youtrack.jetbrains.com/issue/KT-56722) K2: cannot resolve component call after smart cast - [`KT-56875`](https://youtrack.jetbrains.com/issue/KT-56875) K2: isOperator flag is incorrectly set for java methods - [`KT-56714`](https://youtrack.jetbrains.com/issue/KT-56714) K2: wrong argument mapping in DSL - [`KT-56723`](https://youtrack.jetbrains.com/issue/KT-56723) K2: lambda accidentally returns Unit? instead of Unit - [`KT-55877`](https://youtrack.jetbrains.com/issue/KT-55877) K2: Secondary constructor without call to parent: no frontend error, ISE: "Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" - [`KT-56386`](https://youtrack.jetbrains.com/issue/KT-56386) K2: Make possible to access Java field which is shadowed by Kotlin invisible property\` - [`KT-56862`](https://youtrack.jetbrains.com/issue/KT-56862) Compatibility problem with using Kotlin in Intellij 223 or higher because of missing particular trove4j dependency - [`KT-55088`](https://youtrack.jetbrains.com/issue/KT-55088) JS, Native compilation fail with internal error on `SomeEnum.entries` reference when `SomeEnum` is from klib compiled with disabled EnumEntries language feature - [`KT-40904`](https://youtrack.jetbrains.com/issue/KT-40904) No warning when declare actual in the same target (module) as expect - [`KT-56707`](https://youtrack.jetbrains.com/issue/KT-56707) K2: Unexpected TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM where only getter type specified explicitly - [`KT-56508`](https://youtrack.jetbrains.com/issue/KT-56508) Context receivers: Internal compiler error when compiling code containing a class with a secondary constructor - [`KT-56706`](https://youtrack.jetbrains.com/issue/KT-56706) K2: False-positive ARGUMENT_TYPE_MISMATCH for generic nested types from library - [`KT-56505`](https://youtrack.jetbrains.com/issue/KT-56505) K2: Missing `NO_EXPLICIT_VISIBILITY_IN_API_MODE` errors on various declarations - [`KT-56682`](https://youtrack.jetbrains.com/issue/KT-56682) K2: False-negative UNINITIALIZED_VARIABLE on access to delegated property - [`KT-56678`](https://youtrack.jetbrains.com/issue/KT-56678) K2: False-negative UNINITIALIZED_VARIABLE if corresponding variable has initializer - [`KT-56612`](https://youtrack.jetbrains.com/issue/KT-56612) K2: false positive NO_TYPE_ARGUMENTS_ON_RHS on raw cast with type alias based argument - [`KT-56445`](https://youtrack.jetbrains.com/issue/KT-56445) K2: False-positive unresolved reference to callable reference to function with default argument - [`KT-55024`](https://youtrack.jetbrains.com/issue/KT-55024) K2: overload resolution ambiguity/unresolved reference if variable is smart-casted to an invisible internal class - [`KT-55722`](https://youtrack.jetbrains.com/issue/KT-55722) K2: Incorrect OVERLOAD_RESOLUTION_AMBIGUITY with smart cast on dispatch receiver (simple) - [`KT-56563`](https://youtrack.jetbrains.com/issue/KT-56563) Inference within if stops working when changing expected type from Any to a different type - [`KT-55936`](https://youtrack.jetbrains.com/issue/KT-55936) K2: Support proper resolution of callable references as last statements in lambda - [`KT-45989`](https://youtrack.jetbrains.com/issue/KT-45989) FIR: wrong callable reference type inferred - [`KT-55169`](https://youtrack.jetbrains.com/issue/KT-55169) K2: False-negative NO_ELSE_IN_WHEN - [`KT-55932`](https://youtrack.jetbrains.com/issue/KT-55932) K2. No compiler error when elvis operator returns not matched type - [`KT-53987`](https://youtrack.jetbrains.com/issue/KT-53987) K2: False negative "TYPE_MISMATCH" with if statement return - [`KT-41038`](https://youtrack.jetbrains.com/issue/KT-41038) NI: TYPE_MISMATCH when passing constructor of nested class - [`KT-42449`](https://youtrack.jetbrains.com/issue/KT-42449) Can not resolve property for value of type Any even after casting type to a type with star projection - [`KT-52934`](https://youtrack.jetbrains.com/issue/KT-52934) StackOverflow from `PseudocodeTraverserKt.collectDataFromSubgraph` with `if` inside `finally` - [`KT-52860`](https://youtrack.jetbrains.com/issue/KT-52860) StackOverflowError when casting involving recursive generics and star projection - [`KT-52424`](https://youtrack.jetbrains.com/issue/KT-52424) ClassCastException: Wrong smartcast to Nothing? with if-else in nullable lambda parameter - [`KT-52262`](https://youtrack.jetbrains.com/issue/KT-52262) TYPE_MISMATCH: Nonnull smartcasting fails with non-exhaustive when - [`KT-52502`](https://youtrack.jetbrains.com/issue/KT-52502) Forbid extension calls on inline functional parameters - [`KT-51045`](https://youtrack.jetbrains.com/issue/KT-51045) SETTER_PROJECTED_OUT: Star projected nullable property can't be set to null - [`KT-40480`](https://youtrack.jetbrains.com/issue/KT-40480) \[FIR] Support `hasStableParameterName` from metadata - [`KT-50134`](https://youtrack.jetbrains.com/issue/KT-50134) NI: Type inference regression in java streams groupingBy - [`KT-50160`](https://youtrack.jetbrains.com/issue/KT-50160) False positive "USELESS_CAST" caused by indexed access operator - [`KT-42715`](https://youtrack.jetbrains.com/issue/KT-42715) Unable to use implicit lambda param `it` for overloaded methods - [`KT-49045`](https://youtrack.jetbrains.com/issue/KT-49045) False positive USELESS_CAST in generic type with nullable type parameter - [`KT-49024`](https://youtrack.jetbrains.com/issue/KT-49024) AssertionError: Variance conflict: type parameter variance 'out' and projection kind 'in' cannot be combined - [`KT-48975`](https://youtrack.jetbrains.com/issue/KT-48975) Type mismatch: inferred type is X but Nothing! was expected with the AssertJ latest version - [`KT-47870`](https://youtrack.jetbrains.com/issue/KT-47870) INVISIBLE_MEMBER: Kotlin class can't access protected annotation defined in Java parent class - [`KT-47495`](https://youtrack.jetbrains.com/issue/KT-47495) ReenteringLazyValueComputationException on invalid code - [`KT-47490`](https://youtrack.jetbrains.com/issue/KT-47490) Missed diagnostic for incorrect callable reference in finally - [`KT-47484`](https://youtrack.jetbrains.com/issue/KT-47484) "Recursion detected in a lazy value under LockBasedStorageManager" on invalid code - [`KT-46301`](https://youtrack.jetbrains.com/issue/KT-46301) Combining branches with sealed interfaces in `when` breaks type inference - [`KT-44392`](https://youtrack.jetbrains.com/issue/KT-44392) False negative: redundant nullability/not null check on cast with as operator - [`KT-43936`](https://youtrack.jetbrains.com/issue/KT-43936) Recursion detected on input: ANNOTATION_ENTRY with annotation on star-imported nested class - [`KT-43846`](https://youtrack.jetbrains.com/issue/KT-43846) No smart cast when returning function closures with captured smart-cast variable - [`KT-43603`](https://youtrack.jetbrains.com/issue/KT-43603) False positive USELESS_CAST leads to TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM on "when" with smart cast and extension property - [`KT-43553`](https://youtrack.jetbrains.com/issue/KT-43553) JVM / IR: "AssertionError: Unbound symbols not allowed" caused by annotation class with TYPE target - [`KT-42169`](https://youtrack.jetbrains.com/issue/KT-42169) False negative CAST_NEVER_SUCCEEDS for incompatible types with generic parameter and star projection - [`KT-42136`](https://youtrack.jetbrains.com/issue/KT-42136) NI: False positive \[USELESS_CAST] when list serves to create a mutable list - [`KT-41721`](https://youtrack.jetbrains.com/issue/KT-41721) SAM conversion fails on varargs with type approximated to Nothing - [`KT-38288`](https://youtrack.jetbrains.com/issue/KT-38288) Unresolved reference for type parameter upper bound of nested class when outer class extends it with star projected type argument - [`KT-37490`](https://youtrack.jetbrains.com/issue/KT-37490) NULL_FOR_NONNULL_TYPE: "Null can not be a value of a non-null type Nothing" when null is passed to nullable argument of type projected method - [`KT-37365`](https://youtrack.jetbrains.com/issue/KT-37365) NPE from `ReflectionReferencesGenerator.generateCallableReference` with inner class function reference and wrong parenthesis - [`KT-36958`](https://youtrack.jetbrains.com/issue/KT-36958) NI: missed unresolved on parenthesized callable reference passing through call (back-ends throw an exception) - [`KT-30756`](https://youtrack.jetbrains.com/issue/KT-30756) No smartcast if elvis operator as a smartcast source in while or do-while is used as the last statement - [`KT-24737`](https://youtrack.jetbrains.com/issue/KT-24737) Report an error on invalid this-expression with angle brackets on left-hand side of a callable reference - [`KT-21463`](https://youtrack.jetbrains.com/issue/KT-21463) Compiler doesn't take into accout a type parameter upper bound if a corresponding type argument is in projection - [`KT-6822`](https://youtrack.jetbrains.com/issue/KT-6822) Smart cast doesn't work inside local returned expression in lambda - [`KT-55840`](https://youtrack.jetbrains.com/issue/KT-55840) Inconsistency between members of enums in bytecode between FE 1.0 + JVM IR and FIR + JVM IR - [`KT-47815`](https://youtrack.jetbrains.com/issue/KT-47815) JVM: "Recursion detected in a lazy value under LockBasedStorageManager" when trying to inherit interface from a class with non-trivial function - [`KT-17817`](https://youtrack.jetbrains.com/issue/KT-17817) No error reported on invalid LHS for class literal - [`KT-47373`](https://youtrack.jetbrains.com/issue/KT-47373) Missed diagnostics on/after non-null assertion (!!) on generic class class use with class literal - [`KT-51143`](https://youtrack.jetbrains.com/issue/KT-51143) Wrong Unit-requiring at if/when branch with stub types - [`KT-53671`](https://youtrack.jetbrains.com/issue/KT-53671) False-positive diagnostic reported on OptIn annotation import from root package - [`KT-53494`](https://youtrack.jetbrains.com/issue/KT-53494) Mistaken type inference in compound 'if' expression with nullability check and covariant type - [`KT-28668`](https://youtrack.jetbrains.com/issue/KT-28668) "AssertionError: Unrelated types in SAM conversion for index variable" if lambda argument of '\[...]' in LHS of augmented assignment is used as an implementation for different SAM interfaces - [`KT-55931`](https://youtrack.jetbrains.com/issue/KT-55931) Inference for callable reference inside synthetic calls for if/when/try/etc stops working when brought into lambda for a call - [`KT-20223`](https://youtrack.jetbrains.com/issue/KT-20223) Inline access check ignores operator calls to `invoke()` - [`KT-54478`](https://youtrack.jetbrains.com/issue/KT-54478) `@NoInfer` causes CONFLICTING_OVERLOADS - [`KT-56472`](https://youtrack.jetbrains.com/issue/KT-56472) K2: Add stack of all FIR elements to CheckerContext - [`KT-41126`](https://youtrack.jetbrains.com/issue/KT-41126) \[FIR] Inconsistency of a compiler behaviour at init block for an enum entry with and without a qualifier name - [`KT-54931`](https://youtrack.jetbrains.com/issue/KT-54931) Annotations defined in nested classes cannot be instantiated directly - [`KT-52338`](https://youtrack.jetbrains.com/issue/KT-52338) "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field - [`KT-24901`](https://youtrack.jetbrains.com/issue/KT-24901) No smart cast for `when` with early return - [`KT-53086`](https://youtrack.jetbrains.com/issue/KT-53086) "Cannot access '<init>' before superclass constructor has been called" with inner class secondary constructor - [`KT-55137`](https://youtrack.jetbrains.com/issue/KT-55137) Callable references with conversion are incorrectly allowed to be promoted to KFunction - [`KT-30497`](https://youtrack.jetbrains.com/issue/KT-30497) EXACTLY_ONCE contract doesn't work in a function with `vararg` parameter - [`KT-47074`](https://youtrack.jetbrains.com/issue/KT-47074) Front-end Internal error: Failed to analyze declaration State / java.lang.IllegalStateException: Should not be called! when try to add Parcelize - [`KT-24503`](https://youtrack.jetbrains.com/issue/KT-24503) Return-as-expression is allowed as this/super constructor parameter - [`KT-55379`](https://youtrack.jetbrains.com/issue/KT-55379) False positive NO_ELSE_IN_WHEN with smartcast to Boolean - [`KT-47750`](https://youtrack.jetbrains.com/issue/KT-47750) False positive NO_ELSE_IN_WHEN in presence of smartcast to sealed interface - [`KT-53819`](https://youtrack.jetbrains.com/issue/KT-53819) False positive UNINITIALIZED_VARIABLE with secondary constructor and custom property getter in local class - [`KT-56457`](https://youtrack.jetbrains.com/issue/KT-56457) JVM: Enum.entries are not annotated with `@NotNull` - [`KT-56072`](https://youtrack.jetbrains.com/issue/KT-56072) K2. "IllegalStateException: Fir2IrSimpleFunctionSymbol for <paramName> is already bound" when trying to access java synthetic property of inherited class - [`KT-50082`](https://youtrack.jetbrains.com/issue/KT-50082) Kotlin non-overriding property of subclass doesn't shadow same-named Java field from base class - [`KT-55822`](https://youtrack.jetbrains.com/issue/KT-55822) False positive ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with raw types and mixed overridden members - [`KT-55666`](https://youtrack.jetbrains.com/issue/KT-55666) K2: label on local function is rejected: "Target label does not denote a function" - [`KT-56283`](https://youtrack.jetbrains.com/issue/KT-56283) False-positive INVISIBLE_MEMBER on overridden member of more specific type after smart cast - [`KT-51969`](https://youtrack.jetbrains.com/issue/KT-51969) \[FIR] Compilation for expect value class fails with "Fir2IrSimpleFunctionSymbol for \[declaration] is already bound" - [`KT-56329`](https://youtrack.jetbrains.com/issue/KT-56329) K2: compiler backend crash on two expected functions with similar signatures - [`KT-56361`](https://youtrack.jetbrains.com/issue/KT-56361) K2/MPP: receiver isn't available in lambda literals with receiver - [`KT-55295`](https://youtrack.jetbrains.com/issue/KT-55295) K2/MPP: JS build functionality - [`KT-55909`](https://youtrack.jetbrains.com/issue/KT-55909) \[K2/N] IndexOutOfBoundsException for a reference to a function defined in companion object superclass - [`KT-55664`](https://youtrack.jetbrains.com/issue/KT-55664) K2: eliminate ClassId.isSame call from FirClass.isSubclassOf - [`KT-56353`](https://youtrack.jetbrains.com/issue/KT-56353) K2. False negative "Unresolved reference" in default value of secondary constructor's parameter - [`KT-56381`](https://youtrack.jetbrains.com/issue/KT-56381) K2: Function type kind not extracted from lambda literal in generic call - [`KT-55747`](https://youtrack.jetbrains.com/issue/KT-55747) K2. "Convention for 'mod' is forbidden. Use 'rem'" error is missing - [`KT-56104`](https://youtrack.jetbrains.com/issue/KT-56104) Unnecessary inner classes attributes in class files for subclasses - [`KT-55570`](https://youtrack.jetbrains.com/issue/KT-55570) K2: ACTUAL_WITHOUT_EXPECT error is not reported on a simple actual class - [`KT-56176`](https://youtrack.jetbrains.com/issue/KT-56176) \[K2/N] "IllegalStateException: actual type is kotlin.Int, expected kotlin.Long" when expected type uses typealias - [`KT-56229`](https://youtrack.jetbrains.com/issue/KT-56229) K2: IllegalStateException (already bound) for triangle-like dependencies scheme with MPP scenario - [`KT-56199`](https://youtrack.jetbrains.com/issue/KT-56199) K2 + MPP + kotlinx.serialization: java.lang.VerifyError: Bad type on operand stack in aaload - [`KT-56212`](https://youtrack.jetbrains.com/issue/KT-56212) K2: Exception when compiling extension function declaration with illegally chained type parameter receiver - [`KT-55503`](https://youtrack.jetbrains.com/issue/KT-55503) K2: "Argument type mismatch" caused by using the wrong "this" - [`KT-56050`](https://youtrack.jetbrains.com/issue/KT-56050) K2: inconsistency regarding visibility of synthetic properties with protected getter and public setter - [`KT-49663`](https://youtrack.jetbrains.com/issue/KT-49663) FIR: Support `@kotlin`.jvm.PurelyImplements for java collections - [`KT-55468`](https://youtrack.jetbrains.com/issue/KT-55468) \[K2/N] Crash with debuginfo caused by changed tree using IMPLICIT_COERCION_TO_UNIT - [`KT-56269`](https://youtrack.jetbrains.com/issue/KT-56269) \[K2/N] Don't test "Tailrec is not allowed on open members" in K2 - [`KT-54647`](https://youtrack.jetbrains.com/issue/KT-54647) K2: Function call with Lambda on LHS of assignment leads to KotlinExceptionWithAttachments: FirDeclaration was not found for class org.jetbrains.kotlin.psi.KtFunctionLiteral - [`KT-54648`](https://youtrack.jetbrains.com/issue/KT-54648) K2: Function call on left side of erroneous assignment isn't resolved - [`KT-55699`](https://youtrack.jetbrains.com/issue/KT-55699) K2. False Negative "Type parameter T is not an expression" - [`KT-56132`](https://youtrack.jetbrains.com/issue/KT-56132) Restore 'JvmBackendContext' constructor signature for compatibility - [`KT-55973`](https://youtrack.jetbrains.com/issue/KT-55973) K2: Exception from UnusedChecker on an unused destructuring - [`KT-56275`](https://youtrack.jetbrains.com/issue/KT-56275) K2 IDE: Missed error for enum super type - [`KT-54775`](https://youtrack.jetbrains.com/issue/KT-54775) K2. "IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl <implicit>" exception on incorrect code - [`KT-55528`](https://youtrack.jetbrains.com/issue/KT-55528) K2: CFA for property initialization analysis is not run for class initialization graphs - [`KT-54410`](https://youtrack.jetbrains.com/issue/KT-54410) K2: Deprecation warning instead of "this declaration is only available since Kotlin X" when language version in project are below required to use language feature - [`KT-55186`](https://youtrack.jetbrains.com/issue/KT-55186) K2: No compilation error on calling exception without constructor - [`KT-36776`](https://youtrack.jetbrains.com/issue/KT-36776) Treat special constructions (if, when, try) as a usual calls when there is expected type - [`KT-50947`](https://youtrack.jetbrains.com/issue/KT-50947) False negative: FE 1.0 doesn't report type variance conflict error on an inner type - [`KT-39041`](https://youtrack.jetbrains.com/issue/KT-39041) Collection literals should not be allowed inside annotation classes - [`KT-54694`](https://youtrack.jetbrains.com/issue/KT-54694) Consider enabling BooleanElvisBoundSmartCasts in K1 or K2 - [`KT-54587`](https://youtrack.jetbrains.com/issue/KT-54587) K2. CCE on compilation when some operator fun is needed and it is implemented as an extension function for another class - [`KT-52774`](https://youtrack.jetbrains.com/issue/KT-52774) Resolve unqualified enum constants based on expected type ##### Docs & Examples - [`KT-53643`](https://youtrack.jetbrains.com/issue/KT-53643) Update coding style conventions to include rangeUntil operator - [`KT-57902`](https://youtrack.jetbrains.com/issue/KT-57902) Create migration tutorial from kotlin-js to kotlin-multiplatform gradle plugin - [`KT-58381`](https://youtrack.jetbrains.com/issue/KT-58381) \[Docs]\[Libraries] Document Path.createParentDirectories ##### IDE ##### Performance Improvements - [`KTIJ-23501`](https://youtrack.jetbrains.com/issue/KTIJ-23501) Make main run configuration detection lighter - [`KT-56613`](https://youtrack.jetbrains.com/issue/KT-56613) Reduce memory consumption of light classes ##### Fixes - [`KT-57849`](https://youtrack.jetbrains.com/issue/KT-57849) K2: contract violation due to implicit java type with annotation - [`KT-57857`](https://youtrack.jetbrains.com/issue/KT-57857) LC: FakeFileForLightClass: Read access is allowed from inside read-action - [`KT-57578`](https://youtrack.jetbrains.com/issue/KT-57578) SLC: incorrect upper bound wildcards - [`KT-57917`](https://youtrack.jetbrains.com/issue/KT-57917) Analysis API: decompiled value parameters are not resolved - [`KT-56046`](https://youtrack.jetbrains.com/issue/KT-56046) K2 IDE: Avoid redundant resolve from annotations - [`KT-57569`](https://youtrack.jetbrains.com/issue/KT-57569) SLC: incorrect visibility for lateinit var with private setter - [`KT-57547`](https://youtrack.jetbrains.com/issue/KT-57547) SLC: non-last `vararg` value parameter type mismatch - [`KT-57548`](https://youtrack.jetbrains.com/issue/KT-57548) SLC: incorrect inheritance list for Comparator - [`KT-56843`](https://youtrack.jetbrains.com/issue/KT-56843) Light classes: certain kinds of constant values in property initializers aren't supported - [`KT-56868`](https://youtrack.jetbrains.com/issue/KT-56868) SLC: IncorrectOperationException on enum annotation arguments that are not valid Java identifiers - [`KT-56833`](https://youtrack.jetbrains.com/issue/KT-56833) Light classes: Accessors to lateinit properties don't have `@NotNull` annotations - [`KT-56845`](https://youtrack.jetbrains.com/issue/KT-56845) Light classes: Overridden property accessors don't have `@Override` annotation - [`KT-56441`](https://youtrack.jetbrains.com/issue/KT-56441) K2 IDE: reference from Java to ObjectName.INSTANCE of private object is red in IDE, but compiled successfully - [`KT-56891`](https://youtrack.jetbrains.com/issue/KT-56891) Symbol Classes: DefaultImpls classes contain methods without default implementation - [`KT-56842`](https://youtrack.jetbrains.com/issue/KT-56842) Light Classes: Primitive-backed context receiver parameters shouldn't be marked with `@NotNull` - [`KT-56835`](https://youtrack.jetbrains.com/issue/KT-56835) Light classes: Underlying fields for delegated properties should be marked as final and `@NotNull` - [`KT-56840`](https://youtrack.jetbrains.com/issue/KT-56840) Light Classes: Inline classes backed by Java primitives shouldn't be marked with `@NotNull` - [`KT-56728`](https://youtrack.jetbrains.com/issue/KT-56728) K2 IDE. False positive `not applicable to` for kotlin annotation with target annotating Java element - [`KT-55815`](https://youtrack.jetbrains.com/issue/KT-55815) SLC: Keep annotations on type when converting to `PsiType` - [`KT-55669`](https://youtrack.jetbrains.com/issue/KT-55669) K2 IDE: INRE from light classes ##### IDE. Completion - [`KTIJ-25108`](https://youtrack.jetbrains.com/issue/KTIJ-25108) K2 IDE: Code completion in Java context for Kotlin top level members: "Slow operations are prohibited on EDT" through KtAnalysisScopeProviderImpl.canBeAnalysed() - [`KTIJ-24989`](https://youtrack.jetbrains.com/issue/KTIJ-24989) K2 IDE: completion should show information about expanded types for type alias parameters - [`KTIJ-24992`](https://youtrack.jetbrains.com/issue/KTIJ-24992) K2 IDE: completion shows return type with incorrect nullability when type is stub type - [`KTIJ-24948`](https://youtrack.jetbrains.com/issue/KTIJ-24948) K2 IDE: "ERROR: class org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef" during completion of inner classes' constructors - [`KTIJ-24256`](https://youtrack.jetbrains.com/issue/KTIJ-24256) K2 IDE: Angle brackets are missing in completion of function with type parameters - [`KTIJ-24083`](https://youtrack.jetbrains.com/issue/KTIJ-24083) K2, Completion: Exception on adding a type parameter receiver to a function - [`KTIJ-23963`](https://youtrack.jetbrains.com/issue/KTIJ-23963) K2 IDE: Completion in Kotlin suggests overriding a Java field; fails with "Unknown member to override" - [`KTIJ-22359`](https://youtrack.jetbrains.com/issue/KTIJ-22359) K2 IDE: no completion for Java synthetic properties from super class - [`KTIJ-23880`](https://youtrack.jetbrains.com/issue/KTIJ-23880) Completion doesn't work for Java synthetic property reference ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-25152`](https://youtrack.jetbrains.com/issue/KTIJ-25152) Kotlin Bytecode tool window: ISE Symbol with IrSimpleFunctionSymbolImpl is unbound on actual callable with argument in mpp project with IR - [`KTIJ-24475`](https://youtrack.jetbrains.com/issue/KTIJ-24475) Migrate kotlin index extension implementation from object to classes - [`KTIJ-24335`](https://youtrack.jetbrains.com/issue/KTIJ-24335) Kotlin Bytecode tool window: NoSuchElementException caused by duplicate Boolean type descriptor in JvmSharedVariablesManager.getProvider - [`KTIJ-24206`](https://youtrack.jetbrains.com/issue/KTIJ-24206) Kotlin Bytecode tool window: "Unhandled intrinsic in ExpressionCodegen" when compiling a source file with an expect function - [`KTIJ-15764`](https://youtrack.jetbrains.com/issue/KTIJ-15764) IR by default in Kotlin bytecode tool window ##### IDE. Gradle Integration - [`KT-59034`](https://youtrack.jetbrains.com/issue/KT-59034) MPP build failed with "Factory type is not known for plugin variants" in kt-231-\* - [`KT-56671`](https://youtrack.jetbrains.com/issue/KT-56671) KGP import: K/N distribution libraries should'n be resolved for IDE by KGP with package names - [`KTIJ-24573`](https://youtrack.jetbrains.com/issue/KTIJ-24573) KGP-based import: commonized cinterop libraries don't include source set targets, unsupported by host - [`KTIJ-25757`](https://youtrack.jetbrains.com/issue/KTIJ-25757) KJS: 1.9.0-Beta fails to run when running in Android Studio - [`KTIJ-24701`](https://youtrack.jetbrains.com/issue/KTIJ-24701) KGP import: JVM+Android shared source sets don't receive a correct default stdlib dependency - [`KTIJ-24745`](https://youtrack.jetbrains.com/issue/KTIJ-24745) IDE sync of kotlin("js") projects with js(BOTH) set fails with exception because of the new MPP IDE import - [`KTIJ-24567`](https://youtrack.jetbrains.com/issue/KTIJ-24567) Enable KGP dependency resolution by default - [`KTIJ-24729`](https://youtrack.jetbrains.com/issue/KTIJ-24729) KotlinMPPGradleProjectResolverKt must not be requested from main classloader on project import - [`KTIJ-11978`](https://youtrack.jetbrains.com/issue/KTIJ-11978) IDE does not recognize the sources JAR of a published to mavenLocal MPP library ##### IDE. Inspections and Intentions - [`KTIJ-24684`](https://youtrack.jetbrains.com/issue/KTIJ-24684) K2 IDE: 'Redundant qualifier name' false positive in type specification in extension function - [`KTIJ-24662`](https://youtrack.jetbrains.com/issue/KTIJ-24662) K2 IDE: False positive "Redundant qualifier name" inspection for nested class from base interface - [`KTIJ-25232`](https://youtrack.jetbrains.com/issue/KTIJ-25232) K2 IDE: "Redundant qualifier name" inspection false positive with object referenced via property - [`KTIJ-25447`](https://youtrack.jetbrains.com/issue/KTIJ-25447) Make Enum.entries and RangeUntil inspections don't check for opt-in when APIs become stable - [`KTIJ-23588`](https://youtrack.jetbrains.com/issue/KTIJ-23588) K2 IDE. False positive unused import directive for extension function of an object - [`KTIJ-25112`](https://youtrack.jetbrains.com/issue/KTIJ-25112) K2 IDE: False positive "Actual value of parameter 'b' is always 'null'" - [`KTIJ-24485`](https://youtrack.jetbrains.com/issue/KTIJ-24485) Explicit API mode: false positive "redundant 'public' modifier" - [`KTIJ-24453`](https://youtrack.jetbrains.com/issue/KTIJ-24453) Unsuccessfull resolve error from OperatorToFunctionIntention on recursive property declaration ##### IDE. JS - [`KT-58427`](https://youtrack.jetbrains.com/issue/KT-58427) Kotlin Gradle Plugin ignores language version value for Kotlin/JS sources ##### IDE. Libraries - [`KTIJ-25096`](https://youtrack.jetbrains.com/issue/KTIJ-25096) K2 IDE: Library sessions are garbage collected between performance test runs with enabled library caches - [`KTIJ-24413`](https://youtrack.jetbrains.com/issue/KTIJ-24413) Cannot navigate to enum of the Kotlin library via entries call ##### IDE. Multiplatform - [`KTIJ-25859`](https://youtrack.jetbrains.com/issue/KTIJ-25859) MPP: Library wizard with android target uses deprecated `androidTest` source set - [`KTIJ-25479`](https://youtrack.jetbrains.com/issue/KTIJ-25479) Compiler options is not imported correctly for js source sets - [`KTIJ-24011`](https://youtrack.jetbrains.com/issue/KTIJ-24011) MPP: Native tests are missing run gutters ##### JavaScript ##### New Features - [`KT-12784`](https://youtrack.jetbrains.com/issue/KT-12784) JS: generate ES2015 compatible modules - [`KT-48154`](https://youtrack.jetbrains.com/issue/KT-48154) KJS / IR: Inline members support for external types - [`KT-51582`](https://youtrack.jetbrains.com/issue/KT-51582) FIR: support basic compile-time evaluation for JS backend ##### Fixes - [`KT-43490`](https://youtrack.jetbrains.com/issue/KT-43490) KJS / IR: "Cannot set property message of Error which has only a getter" caused by class that is child of Throwable - [`KT-57690`](https://youtrack.jetbrains.com/issue/KT-57690) K2/MPP: compileProductionLibraryKotlinJs fails with Module has a reference to symbol kotlin/arrayOf|3204918726020768747\[0]. Neither the module itself nor its dependencies contain such declaration - [`KT-56911`](https://youtrack.jetbrains.com/issue/KT-56911) K2/MPP: Compile K/JS fails for `@Serializable` annotation with class IrDeclarationOrigin$GeneratedByPlugin cannot be cast to class IrDeclarationOriginImpl - [`KT-56950`](https://youtrack.jetbrains.com/issue/KT-56950) Support KLIB IC with K2 - [`KT-58570`](https://youtrack.jetbrains.com/issue/KT-58570) KJS: ES6 classes + PL throw java.lang.NullPointerException - [`KT-58835`](https://youtrack.jetbrains.com/issue/KT-58835) K2/JS: Fix incremental compilation klib tests - [`KT-58794`](https://youtrack.jetbrains.com/issue/KT-58794) KJS / K2: Assertion failed with Space build - [`KT-51706`](https://youtrack.jetbrains.com/issue/KT-51706) Partial linkage: in case of absent symbol referred from declaration Native compiler is successful, JavaScript fails - [`KT-54452`](https://youtrack.jetbrains.com/issue/KT-54452) Kotlin/JS libraries with "joined" legacy+IR content: publish IR sources for them - [`KT-53180`](https://youtrack.jetbrains.com/issue/KT-53180) Kotlin/JS: generated TypeScript constructor can have "TS1016: A required parameter cannot follow an optional parameter" error with certain properties order - [`KT-39650`](https://youtrack.jetbrains.com/issue/KT-39650) KJS IR: provide a way to enable ES2015 class generation - [`KT-57990`](https://youtrack.jetbrains.com/issue/KT-57990) KJS/IR. Invalid `super` call for final parent methods (ES classes) - [`KT-58246`](https://youtrack.jetbrains.com/issue/KT-58246) KJS: ES15 classses — duplicated code in class constructor - [`KT-57479`](https://youtrack.jetbrains.com/issue/KT-57479) KJS: Add an annotation for a function parameter which checks that a passed argument has an external type - [`KT-58201`](https://youtrack.jetbrains.com/issue/KT-58201) Unknown statement type when building with ES modules - [`KT-30810`](https://youtrack.jetbrains.com/issue/KT-30810) values and valueOf are miscompiled for external enum classes - [`KT-57024`](https://youtrack.jetbrains.com/issue/KT-57024) Ugly TypeScript definitions for declarations with both `@JsExport` and `@Serializable` - [`KT-56237`](https://youtrack.jetbrains.com/issue/KT-56237) KJS + IC: Adding or removing interface default implementation doesn't invalidate children and doesn't update JS code - [`KT-54638`](https://youtrack.jetbrains.com/issue/KT-54638) K2/JS: Fir2ir - implement and use JS-specific mangler - [`KT-54028`](https://youtrack.jetbrains.com/issue/KT-54028) Native / JS: Using private object implementing a sealed interface causes a linker error - [`KT-57423`](https://youtrack.jetbrains.com/issue/KT-57423) KJS: Add an annotation for external interfaces which allows to be inherited only by other external interfaces, classes or objects - [`KT-57711`](https://youtrack.jetbrains.com/issue/KT-57711) K2: Native & JS fail to compile a KLIB that uses const val from a dependency KLIB - [`KT-57078`](https://youtrack.jetbrains.com/issue/KT-57078) JS IC: Unbound symbol left in `SymbolTable` in `JsIr[ES6]InvalidationTestGenerated.testBreakKlibBinaryCompatibilityWithVariance` tests - [`KT-57254`](https://youtrack.jetbrains.com/issue/KT-57254) Deprecate `external enum` declarations - [`KT-57002`](https://youtrack.jetbrains.com/issue/KT-57002) KJS: "JsParserException: missing name after . operator" when a js(...) block contains an interpolated constant - [`KT-56961`](https://youtrack.jetbrains.com/issue/KT-56961) JS IR: serializedIrFileFingerprints in klib manifest has a wrong format - [`KT-56282`](https://youtrack.jetbrains.com/issue/KT-56282) KJS: Invalidate incremental cache in case of compiler internal errors ##### KMM Plugin - [`KT-55402`](https://youtrack.jetbrains.com/issue/KT-55402) "Framework not found SQLCipher": after selection of "Regular framework" as "iOS framework distribution" and installing SqlCihper through CocoaPods - [`KT-55988`](https://youtrack.jetbrains.com/issue/KT-55988) KN debugger in KMM plugin for Android Studio can't recognize the source code ##### Language Design ##### New Features - [`KT-48872`](https://youtrack.jetbrains.com/issue/KT-48872) Provide modern and performant replacement for Enum.values() - [`KT-15613`](https://youtrack.jetbrains.com/issue/KT-15613) Introduce special syntax for the until operator - [`KT-4107`](https://youtrack.jetbrains.com/issue/KT-4107) Design and implement a solution for toString, equals and hashCode on objects (data object) ##### Fixes - [`KT-28850`](https://youtrack.jetbrains.com/issue/KT-28850) Prohibit protected visibility in final expected classes - [`KT-39362`](https://youtrack.jetbrains.com/issue/KT-39362) Expect fun interface must have actual fun interface counterpart - [`KT-48994`](https://youtrack.jetbrains.com/issue/KT-48994) Prohibit type unsound java fields assignments - [`KT-58791`](https://youtrack.jetbrains.com/issue/KT-58791) Prolongate PROGRESSION_CHANGE_RESOLVE diagnostics to 2.x - [`KT-53778`](https://youtrack.jetbrains.com/issue/KT-53778) Release stdlib API about "rangeUntil" operator in 1.9 - [`KT-53653`](https://youtrack.jetbrains.com/issue/KT-53653) Export Enum.entries to Objective-C and Swift - [`KT-55177`](https://youtrack.jetbrains.com/issue/KT-55177) Deprecate declaration of expect and actual counterparts of same class in one module - [`KT-49110`](https://youtrack.jetbrains.com/issue/KT-49110) Prohibit access to members of companion of enum class from initializers of entries of this enum - [`KT-47986`](https://youtrack.jetbrains.com/issue/KT-47986) Forbid implicit inferring a type variable into an upper bound in the builder inference context - [`KT-57395`](https://youtrack.jetbrains.com/issue/KT-57395) Delay ForbidInferringPostponedTypeVariableIntoDeclaredUpperBound feature to LV 2.0 - [`KT-55082`](https://youtrack.jetbrains.com/issue/KT-55082) Bump KLib version for Enum.entries - [`KT-49264`](https://youtrack.jetbrains.com/issue/KT-49264) Deprecate infix function calls of functions named "suspend" with dangling function literal ##### Libraries ##### New Features - [`KT-58046`](https://youtrack.jetbrains.com/issue/KT-58046) Stabilize remaining kotlin.time API: time sources, time marks, measureTime - [`KT-58074`](https://youtrack.jetbrains.com/issue/KT-58074) Stabilization of Atomics API in K/N - [`KT-55268`](https://youtrack.jetbrains.com/issue/KT-55268) Mutiplatform `@Volatile` annotation - [`KT-51908`](https://youtrack.jetbrains.com/issue/KT-51908) Provide common function for getting regex capture group by name - [`KT-53263`](https://youtrack.jetbrains.com/issue/KT-53263) Path.createParentDirectories - [`KT-7637`](https://youtrack.jetbrains.com/issue/KT-7637) Add toString() to standard delegates classes (NotNullVar, LazyVal, BlockingLazyVal, ...) - [`KT-40728`](https://youtrack.jetbrains.com/issue/KT-40728) Add AssertionError constructor with `cause: Throwable` parameter to common stdlib - [`KT-57298`](https://youtrack.jetbrains.com/issue/KT-57298) Avoid FileAlreadyExistsException from Path.createParentDirectories in case of parent is symlink ##### Performance Improvements - [`KT-54739`](https://youtrack.jetbrains.com/issue/KT-54739) `build` method in collection builders (Set, Map, List) should return a single instance for empty collections - [`KT-42589`](https://youtrack.jetbrains.com/issue/KT-42589) Provide common listOf(value) overload to avoid allocation of the vararg - [`KT-55091`](https://youtrack.jetbrains.com/issue/KT-55091) Stdlib: Sequence.toSet() and Sequence.toList() may create the collection twice - [`KT-57617`](https://youtrack.jetbrains.com/issue/KT-57617) Optimize ReversedListReadOnly iterator - [`KT-57607`](https://youtrack.jetbrains.com/issue/KT-57607) KJS: Bad performance for ArrayList.addAll ##### Fixes - [`KT-58841`](https://youtrack.jetbrains.com/issue/KT-58841) Serialization: NPE when obtaining a serializer of a sealed base class with a self-referencing property - [`KT-57728`](https://youtrack.jetbrains.com/issue/KT-57728) Explicitly specify level of stability of programmatically-accessible interoperability API - [`KT-58985`](https://youtrack.jetbrains.com/issue/KT-58985) Update KClass.isData KDoc - [`KT-57762`](https://youtrack.jetbrains.com/issue/KT-57762) Introduce HexFormat for formatting and parsing hexadecimals - [`KT-55612`](https://youtrack.jetbrains.com/issue/KT-55612) Stabilize experimental API for 1.9 - [`KT-58548`](https://youtrack.jetbrains.com/issue/KT-58548) Stabilize standard library API for Enum.entries - [`KT-56400`](https://youtrack.jetbrains.com/issue/KT-56400) Disable compilation of atomicfu-runtime with legacy JS backend - [`KT-58276`](https://youtrack.jetbrains.com/issue/KT-58276) Deprecate redundant public declarations in kotlin.native.concurrent - [`KT-35973`](https://youtrack.jetbrains.com/issue/KT-35973) Extract org.w3c declarations from stdlib-js - [`KT-58073`](https://youtrack.jetbrains.com/issue/KT-58073) JS/Legacy compiler blocks compilation of kotlinx.atomicfu with K2 - [`KT-57317`](https://youtrack.jetbrains.com/issue/KT-57317) Repack EnumEntries from stdlib into the compiler - [`KT-54702`](https://youtrack.jetbrains.com/issue/KT-54702) Native: mark Worker and related APIs as obsolete - [`KT-55610`](https://youtrack.jetbrains.com/issue/KT-55610) Deprecate kotlin.jvm.Volatile annotation in platforms except JVM - [`KT-57404`](https://youtrack.jetbrains.com/issue/KT-57404) Native: Support AnnotationTarget.TYPE_PARAMETER - [`KT-57318`](https://youtrack.jetbrains.com/issue/KT-57318) Change EnumEntries stdlib implementation to be eager - [`KT-57137`](https://youtrack.jetbrains.com/issue/KT-57137) Native: Consider removing ArrayAsList - [`KT-56661`](https://youtrack.jetbrains.com/issue/KT-56661) Missing EnumEntries-related bytecode in kotlin-stdlib-1.9.255-SNAPSHOT.jar - [`KT-51579`](https://youtrack.jetbrains.com/issue/KT-51579) PlatformImplementations loading is not compatible with graalvm native-image --no-fallback ##### Native - [`KT-54098`](https://youtrack.jetbrains.com/issue/KT-54098) Decommission and remove 'enableEndorsedLibs' flag from Gradle setup - [`KT-52594`](https://youtrack.jetbrains.com/issue/KT-52594) Provide Alpha support for Native in the K2 platform - [`KT-56071`](https://youtrack.jetbrains.com/issue/KT-56071) K2/MPP: Native build functionality - [`KT-56218`](https://youtrack.jetbrains.com/issue/KT-56218) \[K2/N] Receiver annotations for properties are not serialized - [`KT-56326`](https://youtrack.jetbrains.com/issue/KT-56326) \[K2/N] RemoveRedundantCallsToStaticInitializersPhase removes important static initializer - [`KT-27002`](https://youtrack.jetbrains.com/issue/KT-27002) `lateinit` intrinsics frontend checkers aren't applied on Native ##### Native. Build Infrastructure - [`KT-58160`](https://youtrack.jetbrains.com/issue/KT-58160) Native: performance build configuration fails with NoSuchMethodError: 'boolean kotlinx.coroutines.CompletableDeferredKt.completeWith(kotlinx.coroutines.CompletableDeferred, java.lang.Object)' ##### Native. C and ObjC Import - [`KT-54610`](https://youtrack.jetbrains.com/issue/KT-54610) Kotlin Native can't call `objc_direct` functions - [`KT-57918`](https://youtrack.jetbrains.com/issue/KT-57918) \[K2/N] Support typealiases in FirClassSymbol<\*>.selfOrAnySuperClass() - [`KT-58651`](https://youtrack.jetbrains.com/issue/KT-58651) Native c-interop tool generates broken `@Deprecated` annotations - [`KT-57541`](https://youtrack.jetbrains.com/issue/KT-57541) Compilation fails without explicit cast on cinterop code - [`KT-54805`](https://youtrack.jetbrains.com/issue/KT-54805) KMP ios memory leak when using CA Layer - [`KT-57490`](https://youtrack.jetbrains.com/issue/KT-57490) \[K/N] Duplicate package names for cinterop klibs with objc protocols fails to link ##### Native. ObjC Export - [`KT-58839`](https://youtrack.jetbrains.com/issue/KT-58839) K/N: Exception during HiddenFromObjC marked class extension function compiling - [`KT-56464`](https://youtrack.jetbrains.com/issue/KT-56464) K/N: Allow HiddenFromObjC for classes - [`KT-57507`](https://youtrack.jetbrains.com/issue/KT-57507) K2: Set of Objc exported declarations is different between K1 and K2 ##### Native. Runtime - [`KT-58441`](https://youtrack.jetbrains.com/issue/KT-58441) Kotlin/Native: `@ObjCAction` `@ObjCOutlet` generate bridges without switching state - [`KT-57091`](https://youtrack.jetbrains.com/issue/KT-57091) Align Native and Java file/class initialization behavior ##### Native. Runtime. Memory - [`KT-56233`](https://youtrack.jetbrains.com/issue/KT-56233) \[Kotlin/Native] Crash when enum values are accessed in multiple threads - [`KT-58130`](https://youtrack.jetbrains.com/issue/KT-58130) Implement preview of custom allocator for Kotlin/Native - [`KT-56402`](https://youtrack.jetbrains.com/issue/KT-56402) Native: if a Kotlin peer for an Obj-C object is created on the main thread, then Kotlin runtime should run objc_release for it on the main thread ##### Native. Stdlib - [`KT-57344`](https://youtrack.jetbrains.com/issue/KT-57344) Try to remove strange .equals overload on primitive types - [`KT-57592`](https://youtrack.jetbrains.com/issue/KT-57592) Native: Remove the default parameter value for AtomicLong constructor ##### Native. Testing - [`KT-57349`](https://youtrack.jetbrains.com/issue/KT-57349) Enable more K2 MPP codegen/box tests for Kotlin/Native - [`KT-57026`](https://youtrack.jetbrains.com/issue/KT-57026) K2: Fix Native test infrastructure for MPP ##### Reflection - [`KT-54833`](https://youtrack.jetbrains.com/issue/KT-54833) Reflection: Incorrect behaviour for Field.kotlinProperty function in companion objects - [`KT-56650`](https://youtrack.jetbrains.com/issue/KT-56650) ArrayStoreException from InlineClassAwareCaller.call with an array of inline class - [`KT-56093`](https://youtrack.jetbrains.com/issue/KT-56093) Metaspace leak in a Gradle plugin built with Kotlin 1.8.0 - [`KT-55937`](https://youtrack.jetbrains.com/issue/KT-55937) Optimize implementation of kotlinFunction/kotlinProperty ##### Tools. CLI - [`KT-57495`](https://youtrack.jetbrains.com/issue/KT-57495) Add JVM target bytecode version 20 - [`KT-57154`](https://youtrack.jetbrains.com/issue/KT-57154) Incorrect version of JDK is provided through CoreJrtFs - [`KT-56209`](https://youtrack.jetbrains.com/issue/KT-56209) Add CLI support for HMPP in K2 - [`KT-58351`](https://youtrack.jetbrains.com/issue/KT-58351) Confusing error message when using removed -Xjvm-default mode value - [`KT-57535`](https://youtrack.jetbrains.com/issue/KT-57535) K2: Kotlin command line compiler doesn't see class files on the class path in 2.0 - [`KT-57644`](https://youtrack.jetbrains.com/issue/KT-57644) K2: Prohibit passing HMPP module structure with CLI arguments to metadata compiler - [`KT-56351`](https://youtrack.jetbrains.com/issue/KT-56351) Reduce memory usage spent on compiler settings ##### Tools. Commonizer - [`KT-57796`](https://youtrack.jetbrains.com/issue/KT-57796) NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 - [`KT-56207`](https://youtrack.jetbrains.com/issue/KT-56207) Investigate failing tests in ClassifierCommonizationFromSourcesTest ##### Tools. Compiler Plugins ##### Fixes - [`KT-57821`](https://youtrack.jetbrains.com/issue/KT-57821) K2: Compiler calls declaration generation plugins twice for classes in the common source set - [`KT-57406`](https://youtrack.jetbrains.com/issue/KT-57406) FIR Compiler plugins: Assignment plugin incorrectly recognizes qualified names of annotations - [`KT-57626`](https://youtrack.jetbrains.com/issue/KT-57626) K2: SERIALIZER_NOT_FOUND for serializable class from another module - [`KT-57400`](https://youtrack.jetbrains.com/issue/KT-57400) FIR Compiler Plugins: `annotated` predicate does not work with Java classes - [`KT-57140`](https://youtrack.jetbrains.com/issue/KT-57140) K2: Implement backwards compatibility for FirFunctionTypeKindExtension - [`KT-56685`](https://youtrack.jetbrains.com/issue/KT-56685) K2: ArrayIndexOfBound during session creation if compiler plugins are enabled - [`KT-55375`](https://youtrack.jetbrains.com/issue/KT-55375) Remove "legacy" mode of jvm-abi-gen plugin - [`KT-53470`](https://youtrack.jetbrains.com/issue/KT-53470) FIR: pass `MemberGenerationContext` to all methods of FirDeclarationGenerationExtension - [`KT-51092`](https://youtrack.jetbrains.com/issue/KT-51092) Lombok `@Value` causes IllegalAccessError - [`KT-55885`](https://youtrack.jetbrains.com/issue/KT-55885) K2 plugin API: Backend-only declarations are not visible from other modules - [`KT-55584`](https://youtrack.jetbrains.com/issue/KT-55584) K2: Improve registration of session components from compiler plugins - [`KT-55843`](https://youtrack.jetbrains.com/issue/KT-55843) FIR Plugin API: metaAnnotated predicate returns meta-annotation itself as well - [`KT-53874`](https://youtrack.jetbrains.com/issue/KT-53874) Optimize checking for plugin applicability and redesign DeclarationPredicates ##### Tools. Compiler plugins. Serialization ##### Fixes - [`KT-58954`](https://youtrack.jetbrains.com/issue/KT-58954) Serialization: NPE at run time when accessing a delegating property of a deserialized object - [`KT-56537`](https://youtrack.jetbrains.com/issue/KT-56537) Serialization: Presence of (transient) delegated field in the serialized class breaks deserialization - [`KT-58918`](https://youtrack.jetbrains.com/issue/KT-58918) Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property - [`KT-59113`](https://youtrack.jetbrains.com/issue/KT-59113) Serialization: NPE at run time when accessing a delegating property of a deserialized object - [`KT-57647`](https://youtrack.jetbrains.com/issue/KT-57647) Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class - [`KT-57704`](https://youtrack.jetbrains.com/issue/KT-57704) K2/serialization: false-positive SERIALIZER_NOT_FOUND when compiling against 1.7.20 binary with enum class - [`KT-57083`](https://youtrack.jetbrains.com/issue/KT-57083) K2/serialization: can't resolve serializers for classes from other modules - [`KT-56480`](https://youtrack.jetbrains.com/issue/KT-56480) K2: false-positive warning about incompatible serializer type when using type aliases - [`KT-56594`](https://youtrack.jetbrains.com/issue/KT-56594) K2/serialization reports SERIALIZER_NOT_FOUND over aliased String or primitive types - [`KT-56553`](https://youtrack.jetbrains.com/issue/KT-56553) Support 'serialization plugin intrinsics' feature in K2 - [`KT-56244`](https://youtrack.jetbrains.com/issue/KT-56244) kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 ##### Tools. Daemon - [`KT-50846`](https://youtrack.jetbrains.com/issue/KT-50846) Remove "new" Kotlin daemon from codebase ##### Tools. Gradle ##### New Features - [`KT-56971`](https://youtrack.jetbrains.com/issue/KT-56971) Expose jvmTargetValidationMode property in KotlinCompile Gradle task - [`KT-57159`](https://youtrack.jetbrains.com/issue/KT-57159) Add project level compiler options for Kotlin/JVM plugin ##### Performance Improvements - [`KT-57052`](https://youtrack.jetbrains.com/issue/KT-57052) Gradle: Stop using exceptions for flow control - [`KT-57757`](https://youtrack.jetbrains.com/issue/KT-57757) Reduce classpath snapshotter memory consumption - [`KT-56052`](https://youtrack.jetbrains.com/issue/KT-56052) Implement an in-memory wrapper for PersistentHashMap to avoid applying changes to IC caches before successful compilation ##### Fixes - [`KT-55624`](https://youtrack.jetbrains.com/issue/KT-55624) Update KGP integration tests that use removed in Gradle 8 getClassifier method - [`KT-59589`](https://youtrack.jetbrains.com/issue/KT-59589) Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.9.0-RC when applying Enterprise Plugin from initscript - [`KT-59063`](https://youtrack.jetbrains.com/issue/KT-59063) Explicit API mode broken in Kotlin 1.9.0-Beta - [`KT-57653`](https://youtrack.jetbrains.com/issue/KT-57653) Explicit API mode is not enabled when free compiler arguments are specified in Gradle project - [`KT-59256`](https://youtrack.jetbrains.com/issue/KT-59256) \[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project - [`KT-58662`](https://youtrack.jetbrains.com/issue/KT-58662) Gradle 8.1 + Configuration Cache: custom values data is missing from build report - [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath - [`KT-59191`](https://youtrack.jetbrains.com/issue/KT-59191) Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash - [`KT-56211`](https://youtrack.jetbrains.com/issue/KT-56211) Improve Kotlin build reports - [`KT-57767`](https://youtrack.jetbrains.com/issue/KT-57767) Gradle: "ZipException: invalid entry size" with 1.8.20 - [`KT-57736`](https://youtrack.jetbrains.com/issue/KT-57736) K2: Introduce an easy way to try K2 compiler in Gradle user projects - [`KT-59056`](https://youtrack.jetbrains.com/issue/KT-59056) FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options - [`KT-55740`](https://youtrack.jetbrains.com/issue/KT-55740) Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated - [`KT-37652`](https://youtrack.jetbrains.com/issue/KT-37652) Support explicit mode for Android projects - [`KT-58251`](https://youtrack.jetbrains.com/issue/KT-58251) Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+ - [`KT-57224`](https://youtrack.jetbrains.com/issue/KT-57224) Add an indicator into build metrics report to show whether K1 or K2 compiler was used to compile the code - [`KT-58571`](https://youtrack.jetbrains.com/issue/KT-58571) ExplicitApi mode should not apply for test compilations - [`KT-42718`](https://youtrack.jetbrains.com/issue/KT-42718) Test and AndroidTest sources should be excluded from explicit API requirements for libraries - [`KT-58916`](https://youtrack.jetbrains.com/issue/KT-58916) \[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API - [`KT-58869`](https://youtrack.jetbrains.com/issue/KT-58869) K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2" - [`KT-52811`](https://youtrack.jetbrains.com/issue/KT-52811) Kotlin Serialization metadata issue due to incompatibility between Gradle Kotlin embedded version and Kotlin Gradle Plugin version - [`KT-57330`](https://youtrack.jetbrains.com/issue/KT-57330) Provide collection of usage statistics for the Dokka - [`KT-57393`](https://youtrack.jetbrains.com/issue/KT-57393) jvm-target value set through 'android.kotlinOptions' is ignored and overwritten with the default 1.8 value - [`KT-58745`](https://youtrack.jetbrains.com/issue/KT-58745) KaptGenerateStubs task should also be configured with the same compiler plugin options - [`KT-58682`](https://youtrack.jetbrains.com/issue/KT-58682) Explicit api mode does not apply in MPP projects - [`KT-52976`](https://youtrack.jetbrains.com/issue/KT-52976) Remove deprecated Gradle conventions usages - [`KT-58530`](https://youtrack.jetbrains.com/issue/KT-58530) Compiler plugin unbundling changes should be backward compatible with Kotlin plugin - [`KT-36904`](https://youtrack.jetbrains.com/issue/KT-36904) Adding folders to sourceSets.resources.srcDir() in Gradle script does not work - [`KT-58313`](https://youtrack.jetbrains.com/issue/KT-58313) An exception in console if no task is executed and file build reports are enabled - [`KT-58619`](https://youtrack.jetbrains.com/issue/KT-58619) Move all pm20 interfaces into Gradle plugin codebase - [`KT-58320`](https://youtrack.jetbrains.com/issue/KT-58320) Kotlin daemon OOM help message is missing on OOM in Kotlin Daemon itself - [`KT-53923`](https://youtrack.jetbrains.com/issue/KT-53923) Add 'progressive' compiler argument to Gradle compiler options - [`KT-53924`](https://youtrack.jetbrains.com/issue/KT-53924) Add 'optIn' compiler arguments to Gradle compiler options - [`KT-53748`](https://youtrack.jetbrains.com/issue/KT-53748) Remove KotlinCompile setClasspath/getClasspath methods - [`KT-56454`](https://youtrack.jetbrains.com/issue/KT-56454) Bump minimal support AGP version to 4.2.2 - [`KT-57397`](https://youtrack.jetbrains.com/issue/KT-57397) Add infrastructure to use the build-tools-api to run compilation from Gradle - [`KT-56946`](https://youtrack.jetbrains.com/issue/KT-56946) Switch incremental Gradle tests for K2 to use language version 2.0 - [`KT-57782`](https://youtrack.jetbrains.com/issue/KT-57782) Disable daemon fallback strategy for Gradle integration tests by default - [`KT-57142`](https://youtrack.jetbrains.com/issue/KT-57142) Split org.jetbrains.kotlin.gradle.tasks/Tasks.kt into several source files - [`KT-54447`](https://youtrack.jetbrains.com/issue/KT-54447) Remove usage of deprecated internal Gradle field in Kotlin Gradle Plugin, replace with equivalent in public API - [`KT-49785`](https://youtrack.jetbrains.com/issue/KT-49785) Avoid creating task output backups until really needed - [`KT-56047`](https://youtrack.jetbrains.com/issue/KT-56047) False positive message about full recompilation is displayed while restoring from build cache and then making a syntax error - [`KT-56421`](https://youtrack.jetbrains.com/issue/KT-56421) Gradle: plugin should not use BasePluginExtension deprecated properties - [`KT-55241`](https://youtrack.jetbrains.com/issue/KT-55241) Gradle: the VariantImplementationFactories build service state is not persistent making impossible to access factories with configuration cache lazily - [`KT-56357`](https://youtrack.jetbrains.com/issue/KT-56357) Gradle: "DefaultTaskCollection#configureEach(Action) on task set cannot be executed in the current context" because of VariantImplementationFactories - [`KT-56352`](https://youtrack.jetbrains.com/issue/KT-56352) Make build scan reports more readable - [`KT-55972`](https://youtrack.jetbrains.com/issue/KT-55972) Gradle: Add an assertion to all integration tests if `warningMode` is not `FAIL`, but the build doesn't produce any warnings ##### Tools. Gradle. Cocoapods - [`KT-38749`](https://youtrack.jetbrains.com/issue/KT-38749) Support reusing generated C-interop between dependant pods - [`KT-54161`](https://youtrack.jetbrains.com/issue/KT-54161) Support adding extra code to generated Podfile from the Kotlin gradle plugin - [`KT-56162`](https://youtrack.jetbrains.com/issue/KT-56162) Provide granular Gradle warnings suppression for CocoaPodsIT ##### Tools. Gradle. JS ##### New Features - [`KT-48791`](https://youtrack.jetbrains.com/issue/KT-48791) KJS: Support for Power(ppc64le) and Z(s390x) - [`KT-32209`](https://youtrack.jetbrains.com/issue/KT-32209) org.jetbrains.kotlin.js does not respect Gradle's archivesBaseName - [`KT-52646`](https://youtrack.jetbrains.com/issue/KT-52646) KJS / Gradle: make "KotlinCompilationNpmResolver already closed" a warning - [`KT-52647`](https://youtrack.jetbrains.com/issue/KT-52647) KJS / Gradle: Make "Projects must be configuring" a warning - [`KT-56158`](https://youtrack.jetbrains.com/issue/KT-56158) KJS: Support implementation dependencies ##### Fixes - [`KT-59604`](https://youtrack.jetbrains.com/issue/KT-59604) Unresolved reference: useKarma in convention plugin - [`KT-57604`](https://youtrack.jetbrains.com/issue/KT-57604) JS, Space: Circular dependency between tasks - [`KT-59116`](https://youtrack.jetbrains.com/issue/KT-59116) K/JS npm dependcies are not resolved properly on Kotlin 1.9 - [`KT-54731`](https://youtrack.jetbrains.com/issue/KT-54731) KJS / Gradle: "There are multiple versions of "kotlin" used in nodejs build: 1.6.21, 1.7.20." with kotlin-dsl in buildSrc - [`KT-58970`](https://youtrack.jetbrains.com/issue/KT-58970) browserTest gradle task fails if karma is used and gradle configuration cache is enabled - [`KT-59004`](https://youtrack.jetbrains.com/issue/KT-59004) Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project - [`KT-56458`](https://youtrack.jetbrains.com/issue/KT-56458) KJS / Gradle: Unnecessary and confusing "There are multiple versions of "kotlin" used in nodejs build" generated from `YarnImportedPackagesVersionResolver` - [`KT-57985`](https://youtrack.jetbrains.com/issue/KT-57985) K/JS: `packageJson` Gradle configurations don't inherit unique attributes from JsTarget DSL - [`KT-57817`](https://youtrack.jetbrains.com/issue/KT-57817) JS: executables for couple of JS targets builds in the same directory - [`KT-58199`](https://youtrack.jetbrains.com/issue/KT-58199) K/JS: Remove useCoverage method - [`KT-57116`](https://youtrack.jetbrains.com/issue/KT-57116) KJS / Gradle: `commonWebpackConfig` not applied if called after `binaries.executable()` - [`KT-58522`](https://youtrack.jetbrains.com/issue/KT-58522) K/JS: Upgrade NPM dependency versions - [`KT-57629`](https://youtrack.jetbrains.com/issue/KT-57629) K/JS: Change default destination of JS production distribution - [`KT-57480`](https://youtrack.jetbrains.com/issue/KT-57480) K/JS: Use IR compiler by default without explicit choosing of js compiler - [`KT-58345`](https://youtrack.jetbrains.com/issue/KT-58345) K/JS: Webpack task skipped with ES modules because files have mjs extension - [`KT-58071`](https://youtrack.jetbrains.com/issue/KT-58071) KJS / Gradle: `jsNodeTest` task is not incremental - [`KT-43809`](https://youtrack.jetbrains.com/issue/KT-43809) KJS: browserProductionExecutableDistributeResources tasks deletes distributions directory - [`KT-56690`](https://youtrack.jetbrains.com/issue/KT-56690) Kotlin2JsCompiler friendDependencies cannot be configured through friendPaths - [`KT-57920`](https://youtrack.jetbrains.com/issue/KT-57920) K/JS: Make imported NPM package not considering dev dependencies - [`KT-56025`](https://youtrack.jetbrains.com/issue/KT-56025) KJS / Gradle: Gradle 8.0 jsBrowserProductionWebpack uses the output of another project's jsProductionExecutableCompileSync - [`KT-57630`](https://youtrack.jetbrains.com/issue/KT-57630) K/JS: webpack updating twice on one change of kt sources - [`KT-47351`](https://youtrack.jetbrains.com/issue/KT-47351) KJS / IR: `:jsTestPackageJson` is unable to find nested included builds under composite build - [`KT-44754`](https://youtrack.jetbrains.com/issue/KT-44754) K/JS: `browserRun --continuous` keeps rebuilding without any changes - [`KT-49774`](https://youtrack.jetbrains.com/issue/KT-49774) KJS / Gradle: Errors during NPM dependencies resolution in parallel build lead to unfriendly error messages like "Projects must be closed" - [`KT-57387`](https://youtrack.jetbrains.com/issue/KT-57387) Remove support of webpack 4 - [`KT-57386`](https://youtrack.jetbrains.com/issue/KT-57386) Kotlin/JS upgrade npm dependencies - [`KT-56705`](https://youtrack.jetbrains.com/issue/KT-56705) KJS / Gradle: Module name starting with '@&#8203;' isn't properly set when FUS is disabled - [`KT-46428`](https://youtrack.jetbrains.com/issue/KT-46428) KJS / IR: Composing build failed "Failed to create MD5 hash for package.json" - [`KT-53687`](https://youtrack.jetbrains.com/issue/KT-53687) Don't trigger npm and yarn related tasks if it not relevant for assemble - [`KT-49915`](https://youtrack.jetbrains.com/issue/KT-49915) KJS / Gradle: Gradle build cache miss because of absolute path in `KotlinJsIrLink.filteredArgumentsMap` - [`KT-56192`](https://youtrack.jetbrains.com/issue/KT-56192) KJS: In browser testing no original sources in stacktrace - [`KT-42395`](https://youtrack.jetbrains.com/issue/KT-42395) Kotlin/JS: Gradle DSL: PackageJson.customField() does not accept null - [`KT-43305`](https://youtrack.jetbrains.com/issue/KT-43305) Support Node.JS downloading for Ubuntu - [`KT-48631`](https://youtrack.jetbrains.com/issue/KT-48631) KJS: Unconditionally uses linux/x86 binaries - [`KT-38015`](https://youtrack.jetbrains.com/issue/KT-38015) NodeJS installation does not extract symlinks correctly (npm and npx) ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-34662`](https://youtrack.jetbrains.com/issue/KT-34662) Provide an option for Android targets to compile & run `commonTest` tests as unit tests only, instrumented tests only, or both - [`KT-55881`](https://youtrack.jetbrains.com/issue/KT-55881) Add possibility to enable/disable sources publication similar to Java Gradle Plugin API ##### Fixes - [`KT-59446`](https://youtrack.jetbrains.com/issue/KT-59446) MPP: transformCommonMainDependenciesMetadata failing for api java dependency in shared jvm source set with Future was not completed yet - [`KT-55751`](https://youtrack.jetbrains.com/issue/KT-55751) MPP / Gradle: Consumable configurations must have unique attributes - [`KT-57688`](https://youtrack.jetbrains.com/issue/KT-57688) MPP: `compileDebugKotlinAndroid` task fails with llegalArgumentException: 'moduleName' is null! - [`KT-56210`](https://youtrack.jetbrains.com/issue/KT-56210) Pass module structure to CLI of K2 if K2 enabled - [`KT-57531`](https://youtrack.jetbrains.com/issue/KT-57531) KotlinNativeLink: StackOverflowError when consuming library with dependency cycles (from constraints) - [`KT-58281`](https://youtrack.jetbrains.com/issue/KT-58281) Kotlin Gradle Plugin: Enable Kotlin/Android SourceSetLayout v2 by default - [`KT-57903`](https://youtrack.jetbrains.com/issue/KT-57903) Prepare for migration to the pluggable android target plugin - [`KT-49933`](https://youtrack.jetbrains.com/issue/KT-49933) Support Gradle Configuration caching with HMPP - [`KT-58661`](https://youtrack.jetbrains.com/issue/KT-58661) KGP: KotlinJvmTarget: Implement 'run' carrier task - [`KT-59055`](https://youtrack.jetbrains.com/issue/KT-59055) KotlinJvmRun not respecting jvmToolchain setting - [`KT-57959`](https://youtrack.jetbrains.com/issue/KT-57959) Module-name value can't be changed for the android target of a multiplatform project - [`KT-55506`](https://youtrack.jetbrains.com/issue/KT-55506) TCS: Gradle Sync: kotlin-stdlib-common is not filtered from JVM + Android source sets - [`KT-57652`](https://youtrack.jetbrains.com/issue/KT-57652) Don't expose sourcesElements for project2project dependencies - [`KT-58601`](https://youtrack.jetbrains.com/issue/KT-58601) Finalise "ExternalKotlinTargetApi" shape for initial 1.9 release - [`KT-58710`](https://youtrack.jetbrains.com/issue/KT-58710) External Target Api: Add API to control SourceSetTree - [`KT-58488`](https://youtrack.jetbrains.com/issue/KT-58488) Add a diagnostic message to KGP in case of val androidTest by getting usage - [`KT-57482`](https://youtrack.jetbrains.com/issue/KT-57482) cleanNativeDistributionCommonization is not compatible with configuration cache with gradle 8.0 - [`KT-58062`](https://youtrack.jetbrains.com/issue/KT-58062) Commonizer configuration cache not compatible with Gradle 8.1 - [`KT-58086`](https://youtrack.jetbrains.com/issue/KT-58086) Warn about using MPP libraries published in the legacy mode - [`KT-56439`](https://youtrack.jetbrains.com/issue/KT-56439) TCS: Gradle Sync: IdeBinaryResolver: Add componentFilter API for compilations/configurations - [`KT-57023`](https://youtrack.jetbrains.com/issue/KT-57023) Cryptic Gradle task descriptions for compile tasks - [`KT-58470`](https://youtrack.jetbrains.com/issue/KT-58470) Warning about using MPP libraries published in the legacy mode is not reported if the dependency is declared in an intermediate source set - [`KT-58466`](https://youtrack.jetbrains.com/issue/KT-58466) K2 Gradle: non \*.kt files are passed to -Xfragment-sources - [`KT-58319`](https://youtrack.jetbrains.com/issue/KT-58319) kotlin.git: ProjectMetadataProviderImpl "Unexpected source set 'commonMain'" - [`KT-51940`](https://youtrack.jetbrains.com/issue/KT-51940) HMPP resolves configurations during configuration - [`KT-58261`](https://youtrack.jetbrains.com/issue/KT-58261) Link kotlin native binary framework tasks fails when configuration cache is enabled - [`KT-41506`](https://youtrack.jetbrains.com/issue/KT-41506) UnknownDomainObjectException: "KotlinSourceSet with name not found" when creating custom compilations after applying withJava to an MPP JVM target - [`KT-58209`](https://youtrack.jetbrains.com/issue/KT-58209) Do not use the term 'Module' in KotlinTargetHierarchy - [`KT-56153`](https://youtrack.jetbrains.com/issue/KT-56153) When the dependency is unresolved, import fails and don't import anything instead of degrading gracefully - [`KT-56571`](https://youtrack.jetbrains.com/issue/KT-56571) New import broke apiVersion for commonMain, commonTest and jvmAndAndroidMain modules - [`KT-56712`](https://youtrack.jetbrains.com/issue/KT-56712) Multiplatform;Composite Builds: Classpath isolation: .MppDependencyProjectStructureMetadataExtractorFactory cannot be cast to class \*MppDependencyProjectStructureMetadataExtractorFactory - [`KT-56461`](https://youtrack.jetbrains.com/issue/KT-56461) MPP: resolvableMetadataConfiguration: Ensure consistent resolution across all compile dependencies - [`KT-56841`](https://youtrack.jetbrains.com/issue/KT-56841) MPP: Module-to-module dependencies don't work inside included build in included build - [`KT-42748`](https://youtrack.jetbrains.com/issue/KT-42748) Project that transitively depends on composite build of multimodule multiplatform library cannot resolve dependencies properly - [`KT-52356`](https://youtrack.jetbrains.com/issue/KT-52356) MPP / Gradle: Missing common classes on KMM project integrated via Gradle included build into an Android application - [`KT-51293`](https://youtrack.jetbrains.com/issue/KT-51293) Unresolved references with hierarchical project structure when building KotlinMetadata from native-common source set - [`KT-56700`](https://youtrack.jetbrains.com/issue/KT-56700) V2 MPP Source Set layout warnings should include link to docs - [`KT-55926`](https://youtrack.jetbrains.com/issue/KT-55926) TCS: Gradle Sync: Import Extras on KotlinSourceSet and KotlinTarget - [`KT-55730`](https://youtrack.jetbrains.com/issue/KT-55730) MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets ##### Tools. Gradle. Native - [`KT-58838`](https://youtrack.jetbrains.com/issue/KT-58838) KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings) - [`KT-57823`](https://youtrack.jetbrains.com/issue/KT-57823) KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations - [`KT-57815`](https://youtrack.jetbrains.com/issue/KT-57815) KotlinNativeCompileOptions.moduleName isn't accessible if to configure using compilerOptions.configure {} - [`KT-57944`](https://youtrack.jetbrains.com/issue/KT-57944) K2: K2, MPP, Native: K2 reports "Source does not belong to any module" for native sources - [`KT-53108`](https://youtrack.jetbrains.com/issue/KT-53108) Expose Kotlin/Native compiler options as Gradle DSL - [`KT-58063`](https://youtrack.jetbrains.com/issue/KT-58063) Kotlin/Native tasks configuration cache are not compatible with Gradle 8.1 - [`KT-38317`](https://youtrack.jetbrains.com/issue/KT-38317) Kotlin/Native: NSURLConnection HTTPS requests fail in iOS tests due to --standalone simctl flag - [`KT-56280`](https://youtrack.jetbrains.com/issue/KT-56280) Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries ##### Tools. Incremental Compile - [`KT-58289`](https://youtrack.jetbrains.com/issue/KT-58289) IC fails to detect a change to class annotations - [`KT-58986`](https://youtrack.jetbrains.com/issue/KT-58986) New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)" - [`KT-56197`](https://youtrack.jetbrains.com/issue/KT-56197) If use classpathSnapshot, the invoke place of subclass's super function who has default parameters will not recompiled if it is incremental build - [`KT-56886`](https://youtrack.jetbrains.com/issue/KT-56886) K2: Changes to Java sources used in Kotlin project do not trigger a rebuild if a previous build was successful ##### Tools. Kapt - [`KT-54468`](https://youtrack.jetbrains.com/issue/KT-54468) KAPT Gradle plugin causes eager task creation - [`KT-59521`](https://youtrack.jetbrains.com/issue/KT-59521) Kapt maven plugin require version of annotation processor - [`KT-58301`](https://youtrack.jetbrains.com/issue/KT-58301) K2: Compile Kotlin task failure for the generated by Kapt sources : 'Source NameOfTheGenerated.kt does not belong to any module - [`KT-57598`](https://youtrack.jetbrains.com/issue/KT-57598) K2: Support a fallback mode executing Kapt with K1 even when the compiler is run with languageVersion=2.0 - [`KT-58226`](https://youtrack.jetbrains.com/issue/KT-58226) KAPT: “org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtNameReferenceExpression” with enum with secondary constructor ##### Tools. Maven - [`KTIJ-25445`](https://youtrack.jetbrains.com/issue/KTIJ-25445) Maven. JVM target is imported as 1.6 when no target specified in pom.xml ##### Tools. Parcelize - [`KT-59112`](https://youtrack.jetbrains.com/issue/KT-59112) K2: "IllegalStateException: Function has no body with `@Parcelize`" on nested sealed class hierarchies ##### Tools. Scripts - [`KT-58366`](https://youtrack.jetbrains.com/issue/KT-58366) The obsolete kotlin-script-util jar is still published and contains broken JSR-223 implementation ##### Tools. Wasm - [`KT-56585`](https://youtrack.jetbrains.com/issue/KT-56585) Change wasmBrowserRun Browser Executable to System Default - [`KT-56159`](https://youtrack.jetbrains.com/issue/KT-56159) Running (karma) tests doesn't work in a project generated by wizard "Browser Application for Kotlin/Wasm" - [`KT-57203`](https://youtrack.jetbrains.com/issue/KT-57203) Update Kotlin/Wasm to support Gradle 8 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.9.0.zip | 1fc50d805f9809e92de43e91f089cc8618567c1a350faebdabf8a40c5048bee8 | | kotlin-native-linux-x86\_64-1.9.0.tar.gz | 18bd17e7541baef5ace0303ee463f4185c2d56369382f1b9822ece7215b2a8ec | | kotlin-native-macos-x86\_64-1.9.0.tar.gz | 9ca355eacfb2986cfd2e579831ac4932df6d5f8a6cbaccc553875f8f0d884226 | | kotlin-native-macos-aarch64-1.9.0.tar.gz | 5086850c7118a0141d55e8427efa4a9e76f1201f4d4d97a137d4732f4efd481c | | kotlin-native-windows-x86\_64-1.9.0.zip | 989cb5cb28da87ad0ae2a9469dbbce227165014217ec472eeb78468045dcb766 | ### [`v1.8.22`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.22): Kotlin 1.8.22 ##### Changelog ##### Tools. Gradle - [`KT-58280`](https://youtrack.jetbrains.com/issue/KT-58280) org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.22.zip | 91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6 | | kotlin-native-linux-x86\_64-1.8.22.tar.gz | a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b | | kotlin-native-macos-x86\_64-1.8.22.tar.gz | 0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d | | kotlin-native-macos-aarch64-1.8.22.tar.gz | 29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417 | | kotlin-native-windows-x86\_64-1.8.22.zip | 91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5 | ### [`v1.8.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.21): Kotlin 1.8.21 ##### Changelog ##### Compiler - [`KT-57848`](https://youtrack.jetbrains.com/issue/KT-57848) Native: compilation of dynamic/static library fails with Xcode 14.3 - [`KT-57875`](https://youtrack.jetbrains.com/issue/KT-57875) Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA - [`KT-57946`](https://youtrack.jetbrains.com/issue/KT-57946) KAPT: "RuntimeException: No type for expression" with delegate ##### JavaScript - [`KT-57356`](https://youtrack.jetbrains.com/issue/KT-57356) KJS: StackOverflowException on `@JsExport` with type parameters referring to one another ##### Tools. Commonizer - [`KT-57796`](https://youtrack.jetbrains.com/issue/KT-57796) NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20 ##### Tools. Compiler plugins. Serialization - [`KT-58067`](https://youtrack.jetbrains.com/issue/KT-58067) Serialization: NullPointerException caused by `@Contextual` property with type with generic - [`KT-57730`](https://youtrack.jetbrains.com/issue/KT-57730) Serialization: "IllegalStateException: Serializer for element of type <root>.Foo has not been found" caused by serialization of Java type ##### Tools. Gradle. JS - [`KT-57766`](https://youtrack.jetbrains.com/issue/KT-57766) KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules" ##### Tools. Kapt - [`KT-58027`](https://youtrack.jetbrains.com/issue/KT-58027) Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()" ##### Tools. Maven - [`KT-58048`](https://youtrack.jetbrains.com/issue/KT-58048) Maven: "Too many source module declarations found" after upgrading to 1.8.20 - [`KT-58101`](https://youtrack.jetbrains.com/issue/KT-58101) 'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.21.zip | 6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7 | | kotlin-native-linux-x86\_64-1.8.21.tar.gz | 0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf | | kotlin-native-macos-x86\_64-1.8.21.tar.gz | e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6 | | kotlin-native-macos-aarch64-1.8.21.tar.gz | 0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b | | kotlin-native-windows-x86\_64-1.8.21.zip | f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d | ### [`v1.8.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.20): Kotlin 1.8.20 ##### Changelog ##### Analysis API - [`KT-55510`](https://youtrack.jetbrains.com/issue/KT-55510) K2: Lost designation for local classes - [`KT-55191`](https://youtrack.jetbrains.com/issue/KT-55191) AA: add an API to compare symbol pointers - [`KT-55487`](https://youtrack.jetbrains.com/issue/KT-55487) K2: symbol pointer restoring doesn't work for static members - [`KT-55336`](https://youtrack.jetbrains.com/issue/KT-55336) K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project - [`KT-55098`](https://youtrack.jetbrains.com/issue/KT-55098) AA: KtDeclarationRenderer should render a context receivers - [`KT-51181`](https://youtrack.jetbrains.com/issue/KT-51181) LL API: errors for SAM with suspend function from another module - [`KT-50250`](https://youtrack.jetbrains.com/issue/KT-50250) Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression - [`KT-54360`](https://youtrack.jetbrains.com/issue/KT-54360) KtPropertySymbol: support JvmField in javaSetterName and javaGetterName ##### Analysis API. FE1.0 - [`KT-55825`](https://youtrack.jetbrains.com/issue/KT-55825) AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter ##### Analysis API. FIR - [`KT-54311`](https://youtrack.jetbrains.com/issue/KT-54311) K2: proper implementation of KtSymbolPointer - [`KT-50238`](https://youtrack.jetbrains.com/issue/KT-50238) Analysis API: Implement KSymbolPointer for KtSymbol ##### Analysis API. FIR Low Level API - [`KT-52160`](https://youtrack.jetbrains.com/issue/KT-52160) FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped - [`KT-55566`](https://youtrack.jetbrains.com/issue/KT-55566) LL FIR: Tests in `compiler/testData/diagnostics/tests/testsWithJava17` fail under LL FIR - [`KT-55339`](https://youtrack.jetbrains.com/issue/KT-55339) LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias - [`KT-55327`](https://youtrack.jetbrains.com/issue/KT-55327) LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test - [`KT-54826`](https://youtrack.jetbrains.com/issue/KT-54826) KtSymbolPointer: migrate from IdSignature to our own solution ##### Android - [`KT-54464`](https://youtrack.jetbrains.com/issue/KT-54464) MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders ##### Backend. Wasm - [`KT-38924`](https://youtrack.jetbrains.com/issue/KT-38924) Wasm support in nodejs - [`KT-56160`](https://youtrack.jetbrains.com/issue/KT-56160) Getting WebAssembly.CompileError in browsers not supported GC and other required proposals - [`KT-46773`](https://youtrack.jetbrains.com/issue/KT-46773) Implement an experimental version of the Kotlin/Wasm compiler backend - [`KT-56584`](https://youtrack.jetbrains.com/issue/KT-56584) K/Wasm: Can't link symbol class - [`KT-56166`](https://youtrack.jetbrains.com/issue/KT-56166) Fix compatibility with Firefox Nightly - [`KT-55589`](https://youtrack.jetbrains.com/issue/KT-55589) Basic support of WASI - [`KT-53790`](https://youtrack.jetbrains.com/issue/KT-53790) Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta ##### Compiler ##### New Features - [`KT-54535`](https://youtrack.jetbrains.com/issue/KT-54535) Implement custom equals and hashCode for value classes in Kotlin/JVM - [`KT-55949`](https://youtrack.jetbrains.com/issue/KT-55949) Release experimental `@Volatile` support in native - [`KT-44698`](https://youtrack.jetbrains.com/issue/KT-44698) Frontend (K2): print file name/line on compiler crash/exception - [`KT-54666`](https://youtrack.jetbrains.com/issue/KT-54666) K2: Allow to skip specifying type arguments for members from raw type scope - [`KT-54524`](https://youtrack.jetbrains.com/issue/KT-54524) Implement Java synthetic property references in compiler - [`KT-54024`](https://youtrack.jetbrains.com/issue/KT-54024) K2: support -Xlink-via-signatures mode ##### Performance Improvements - [`KT-33722`](https://youtrack.jetbrains.com/issue/KT-33722) JVM: Result API causes unnecessary boxing - [`KT-53330`](https://youtrack.jetbrains.com/issue/KT-53330) Optimize for-loops and contains over open-ended ranges with until operator (`..<`) for all backends - [`KT-54415`](https://youtrack.jetbrains.com/issue/KT-54415) JVM BE: performance loss related to multi-field inline class lowering - [`KT-48759`](https://youtrack.jetbrains.com/issue/KT-48759) Infix compareTo boxes inline classes - [`KT-55033`](https://youtrack.jetbrains.com/issue/KT-55033) Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function - [`KT-54501`](https://youtrack.jetbrains.com/issue/KT-54501) Improve code generation for inline classes with custom equals ##### Fixes - [`KT-56965`](https://youtrack.jetbrains.com/issue/KT-56965) K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable \[val] - [`KT-56611`](https://youtrack.jetbrains.com/issue/KT-56611) Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle - [`KT-55251`](https://youtrack.jetbrains.com/issue/KT-55251) Enum.entries compilation error should be more specific - [`KT-56527`](https://youtrack.jetbrains.com/issue/KT-56527) K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder - [`KT-56526`](https://youtrack.jetbrains.com/issue/KT-56526) InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20 - [`KT-57388`](https://youtrack.jetbrains.com/issue/KT-57388) Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property - [`KT-53153`](https://youtrack.jetbrains.com/issue/KT-53153) Synthetic Enum.entries can be shadowed by user-defined declarations - [`KT-51290`](https://youtrack.jetbrains.com/issue/KT-51290) "AssertionError: Parameter indices mismatch at context" with context receivers - [`KT-57242`](https://youtrack.jetbrains.com/issue/KT-57242) Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC - [`KT-57261`](https://youtrack.jetbrains.com/issue/KT-57261) "IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance - [`KT-57107`](https://youtrack.jetbrains.com/issue/KT-57107) Handling of Windows line endings CRLF broken in latest snapshot with K2 - [`KT-57117`](https://youtrack.jetbrains.com/issue/KT-57117) K2: Compiler reports invalid columns in diagnostics in case of crlf line endings - [`KT-56500`](https://youtrack.jetbrains.com/issue/KT-56500) The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:\[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA - [`KT-56258`](https://youtrack.jetbrains.com/issue/KT-56258) VerifyError: Bad local variable type when using -Xdebug - [`KT-54455`](https://youtrack.jetbrains.com/issue/KT-54455) Unexpected result of equality comparison of inline class objects - [`KT-56251`](https://youtrack.jetbrains.com/issue/KT-56251) Generic Java synthetic property references don't work in K2 - [`KT-55886`](https://youtrack.jetbrains.com/issue/KT-55886) K2: Wrong code location mapping with Windows line endings - [`KT-43296`](https://youtrack.jetbrains.com/issue/KT-43296) FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic - [`KT-57053`](https://youtrack.jetbrains.com/issue/KT-57053) Problem around anonymous objects in inline functions - [`KT-54950`](https://youtrack.jetbrains.com/issue/KT-54950) NoSuchMethodError on calling 'addAll' on inline class implementing mutable list - [`KT-56815`](https://youtrack.jetbrains.com/issue/KT-56815) compileKotlin task is stuck with while(true) and suspend function - [`KT-56847`](https://youtrack.jetbrains.com/issue/KT-56847) Unresolved reference to Java annotation in Kotlin class with the same name packages - [`KT-52459`](https://youtrack.jetbrains.com/issue/KT-52459) Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses - [`KT-56215`](https://youtrack.jetbrains.com/issue/KT-56215) JVM: Object extension function nullable receiver null check false negative when object is null - [`KT-56188`](https://youtrack.jetbrains.com/issue/KT-56188) K/N: AssertionError when casting SAM wrapper with generic type parameter - [`KT-56033`](https://youtrack.jetbrains.com/issue/KT-56033) Restore 'isMostPreciseContravariantArgument' function signature for compatibility - [`KT-56407`](https://youtrack.jetbrains.com/issue/KT-56407) Backend Internal error: Exception during IR lowering during `:daemon-common-new:compileKotlin` - [`KT-55887`](https://youtrack.jetbrains.com/issue/KT-55887) K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa - [`KT-56701`](https://youtrack.jetbrains.com/issue/KT-56701) K2 (with LightTree) reports syntax errors without additional information - [`KT-56649`](https://youtrack.jetbrains.com/issue/KT-56649) K2 uses 0-index for line numbers rather than 1-index - [`KT-54807`](https://youtrack.jetbrains.com/issue/KT-54807) K2. Support `@OnlyInputTypes` diagnostic checks (`contains` like calls) - [`KT-51247`](https://youtrack.jetbrains.com/issue/KT-51247) "AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types - [`KT-55436`](https://youtrack.jetbrains.com/issue/KT-55436) K1: implement warning about shadowing of the derived property by the base class field - [`KT-56521`](https://youtrack.jetbrains.com/issue/KT-56521) Static scope initializers sometimes not called when first accessed from interop - [`KT-49182`](https://youtrack.jetbrains.com/issue/KT-49182) Strange cast from Unit to String - [`KT-55288`](https://youtrack.jetbrains.com/issue/KT-55288) False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier - [`KT-33132`](https://youtrack.jetbrains.com/issue/KT-33132) Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass - [`KT-56061`](https://youtrack.jetbrains.com/issue/KT-56061) K1 does not report error on inconsistent synthetic property assignment - [`KT-55483`](https://youtrack.jetbrains.com/issue/KT-55483) K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory - [`KT-55125`](https://youtrack.jetbrains.com/issue/KT-55125) Difference in generated bytecode for open suspend functions of generic classes - [`KT-54140`](https://youtrack.jetbrains.com/issue/KT-54140) SOE at `IrBasedDescriptorsKt.makeKotlinType` with mixing recursive definitely not nullable type with nullability - [`KT-56224`](https://youtrack.jetbrains.com/issue/KT-56224) Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies - [`KT-54662`](https://youtrack.jetbrains.com/issue/KT-54662) K2: Assign operator ambiguity on synthetic property from java - [`KT-54507`](https://youtrack.jetbrains.com/issue/KT-54507) K2: Wrong `implicitModality` for interface in `FirHelpers` - [`KT-55912`](https://youtrack.jetbrains.com/issue/KT-55912) "UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by `kotlin` fqn in annotation - [`KT-56018`](https://youtrack.jetbrains.com/issue/KT-56018) \[K2/N] Fir2Ir does not take value parameters annotations from FIR to IR - [`KT-56091`](https://youtrack.jetbrains.com/issue/KT-56091) \[K2/N] Fix various property annotations - [`KT-54209`](https://youtrack.jetbrains.com/issue/KT-54209) K2: false positive deprecation on a class literal with deprecated companion - [`KT-55977`](https://youtrack.jetbrains.com/issue/KT-55977) \[K2/N] Suspend function reference type is wrongly serialized to klib - [`KT-55493`](https://youtrack.jetbrains.com/issue/KT-55493) K2: False-negative VAL_REASSIGNMENT - [`KT-55372`](https://youtrack.jetbrains.com/issue/KT-55372) K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class - [`KT-55371`](https://youtrack.jetbrains.com/issue/KT-55371) K2: compiled code fails trying to call static method of package-private Java grandparent class - [`KT-55408`](https://youtrack.jetbrains.com/issue/KT-55408) K2: can't access indirectly inherited from a package-private class Java members through a type alias - [`KT-55116`](https://youtrack.jetbrains.com/issue/KT-55116) K2: store static qualifiers in dispatch receiver field - [`KT-55996`](https://youtrack.jetbrains.com/issue/KT-55996) K2: cannot switch the light tree mode off with -Xuse-fir-lt=false - [`KT-55368`](https://youtrack.jetbrains.com/issue/KT-55368) K2/MPP: Metadata compiler - [`KT-54305`](https://youtrack.jetbrains.com/issue/KT-54305) K1: implement warning "synthetic setter projected out" - [`KT-52027`](https://youtrack.jetbrains.com/issue/KT-52027) "NullPointerException" when using context receivers with inline fun - [`KT-55984`](https://youtrack.jetbrains.com/issue/KT-55984) Stack allocated array is not cleaned between loop iterations - [`KT-52593`](https://youtrack.jetbrains.com/issue/KT-52593) Provide Alpha support for JS in the K2 platform - [`KT-54656`](https://youtrack.jetbrains.com/issue/KT-54656) NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter - [`KT-56015`](https://youtrack.jetbrains.com/issue/KT-56015) Remove unnecessary stack traces for special checks for ObjC interop - [`KT-55606`](https://youtrack.jetbrains.com/issue/KT-55606) K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class - [`KT-53884`](https://youtrack.jetbrains.com/issue/KT-53884) K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class - [`KT-54502`](https://youtrack.jetbrains.com/issue/KT-54502) Synthetic extensions on raw types work differently from regular getter calls - [`KT-49351`](https://youtrack.jetbrains.com/issue/KT-49351) FIR: Raw type scopes are unsupported - [`KT-49345`](https://youtrack.jetbrains.com/issue/KT-49345) FIR: Properly support raw types in type parameter upper bounds - [`KT-55733`](https://youtrack.jetbrains.com/issue/KT-55733) K2. Reference resolve works incorrectly for classes declared through typealias - [`KT-46369`](https://youtrack.jetbrains.com/issue/KT-46369) FIR: Investigate raw types for arrays - [`KT-41794`](https://youtrack.jetbrains.com/issue/KT-41794) \[FIR] Implement raw type based scope - [`KT-55181`](https://youtrack.jetbrains.com/issue/KT-55181) K2. No compilation error on throwing not throwable - [`KT-55398`](https://youtrack.jetbrains.com/issue/KT-55398) Kotlin inline nested inline lambda's inline variable will inline not correctly - [`KT-55359`](https://youtrack.jetbrains.com/issue/KT-55359) K2. No error when secondary constructor does not delegate to primary one - [`KT-55759`](https://youtrack.jetbrains.com/issue/KT-55759) K2: Unresolved reference of `serializer` if library linking is used (with kotlinx.serialization plugin) - [`KT-54705`](https://youtrack.jetbrains.com/issue/KT-54705) Kotlin scripting doesn't support files with UTF-8 BOM - [`KT-51753`](https://youtrack.jetbrains.com/issue/KT-51753) FIR: various errors due to expect/actual mapping absence in translator - [`KT-44515`](https://youtrack.jetbrains.com/issue/KT-44515) FIR DFA: extract non-null info from anonymous object's initialization - [`KT-55018`](https://youtrack.jetbrains.com/issue/KT-55018) K2 / serialization: FIR2IR fails on local companion - [`KT-55284`](https://youtrack.jetbrains.com/issue/KT-55284) Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...) - [`KT-55693`](https://youtrack.jetbrains.com/issue/KT-55693) K2. Type inference changed in k2 - [`KT-54742`](https://youtrack.jetbrains.com/issue/KT-54742) K2: lambda with conditional bare `return` inferred to return Any, not Unit - [`KT-54332`](https://youtrack.jetbrains.com/issue/KT-54332) Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404 - [`KT-55509`](https://youtrack.jetbrains.com/issue/KT-55509) Invisible fake overrides are listed among lazy IR class members - [`KT-55597`](https://youtrack.jetbrains.com/issue/KT-55597) K2. `This type has a constructor, and thus must be initialized here` error is missed for anonymous object inherits class with no-arg constructor - [`KT-54357`](https://youtrack.jetbrains.com/issue/KT-54357) "ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiver - [`KT-51397`](https://youtrack.jetbrains.com/issue/KT-51397) "VerifyError: Bad type on operand stack" with context receivers - [`KT-54905`](https://youtrack.jetbrains.com/issue/KT-54905) KLIB check on compiled with pre-release version - [`KT-55615`](https://youtrack.jetbrains.com/issue/KT-55615) K2 often does not expand type aliases in annotation position - [`KT-54522`](https://youtrack.jetbrains.com/issue/KT-54522) K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type - [`KT-54300`](https://youtrack.jetbrains.com/issue/KT-54300) K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object - [`KT-55495`](https://youtrack.jetbrains.com/issue/KT-55495) K2: support lateinit intrinsic applicability checker - [`KT-55494`](https://youtrack.jetbrains.com/issue/KT-55494) MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists - [`KT-54980`](https://youtrack.jetbrains.com/issue/KT-54980) K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved - [`KT-54730`](https://youtrack.jetbrains.com/issue/KT-54730) K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters - [`KT-55611`](https://youtrack.jetbrains.com/issue/KT-55611) IC / MPP: Optional internal annotations are not visible on incremental builds - [`KT-55324`](https://youtrack.jetbrains.com/issue/KT-55324) K2: ControlFlowGraphBuilder fails with index out of bounds exception - [`KT-55656`](https://youtrack.jetbrains.com/issue/KT-55656) K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime - [`KT-51277`](https://youtrack.jetbrains.com/issue/KT-51277) "NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection - [`KT-52791`](https://youtrack.jetbrains.com/issue/KT-52791) Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file" - [`KT-55071`](https://youtrack.jetbrains.com/issue/KT-55071) Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functions - [`KT-52193`](https://youtrack.jetbrains.com/issue/KT-52193) Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set - [`KT-54573`](https://youtrack.jetbrains.com/issue/KT-54573) K2: untouched implicit types in delegated constructor call of data class with `@JvmRecord` - [`KT-55037`](https://youtrack.jetbrains.com/issue/KT-55037) Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3 - [`KT-48989`](https://youtrack.jetbrains.com/issue/KT-48989) JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the first - [`KT-55231`](https://youtrack.jetbrains.com/issue/KT-55231) K2: Contract declarations are not passed to checkers - [`KT-54411`](https://youtrack.jetbrains.com/issue/KT-54411) False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code - [`KT-55005`](https://youtrack.jetbrains.com/issue/KT-55005) Inconsistent behavior of array set operation in Kotlin 1.7.21 - [`KT-44625`](https://youtrack.jetbrains.com/issue/KT-44625) Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets - [`KT-42490`](https://youtrack.jetbrains.com/issue/KT-42490) Receiver annotations are not serialized/deserialized for non-JVM targets - [`KT-53441`](https://youtrack.jetbrains.com/issue/KT-53441) K2: cannot access static method of package-private Java grandparent class - [`KT-54197`](https://youtrack.jetbrains.com/issue/KT-54197) \[K2] Exception from inliner for inline function with context receiver - [`KT-55246`](https://youtrack.jetbrains.com/issue/KT-55246) Disable 'CustomEqualsInValueClasses' feature in 1.9 language version - [`KT-55247`](https://youtrack.jetbrains.com/issue/KT-55247) Disable 'InlineLateinit' feature in 1.9 language version - [`KT-53957`](https://youtrack.jetbrains.com/issue/KT-53957) K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers - [`KT-55421`](https://youtrack.jetbrains.com/issue/KT-55421) K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol - [`KT-52815`](https://youtrack.jetbrains.com/issue/KT-52815) Compiler option -Xjdk-release fails to compile mixed projects - [`KT-52236`](https://youtrack.jetbrains.com/issue/KT-52236) Different modality in psi and fir - [`KT-54921`](https://youtrack.jetbrains.com/issue/KT-54921) K2: cannot access static field of package-private Java parent class - [`KT-53698`](https://youtrack.jetbrains.com/issue/KT-53698) K2: FIR2IR fails on call of inivisble extension function with Suppress - [`KT-53920`](https://youtrack.jetbrains.com/issue/KT-53920) K2: "NoSuchElementException: Key `org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab` is missing in the map" with unreachable code and anonymous object - [`KT-55358`](https://youtrack.jetbrains.com/issue/KT-55358) INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions - [`KT-51475`](https://youtrack.jetbrains.com/issue/KT-51475) "ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract - [`KT-51951`](https://youtrack.jetbrains.com/issue/KT-51951) "IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver - [`KT-52373`](https://youtrack.jetbrains.com/issue/KT-52373) Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included - [`KT-54220`](https://youtrack.jetbrains.com/issue/KT-54220) K2: compiler fails on compiling plus expression on unsigned int - [`KT-54692`](https://youtrack.jetbrains.com/issue/KT-54692) K2: compiler fails on compiling unsigned shifts - [`KT-54824`](https://youtrack.jetbrains.com/issue/KT-54824) K2: missing smartcast after two levels of aliasing and a reassignment - [`KT-53368`](https://youtrack.jetbrains.com/issue/KT-53368) Out of bounds read in sse version of String::hashCode - [`KT-54978`](https://youtrack.jetbrains.com/issue/KT-54978) K2: Property accesses with explicit type arguments pass frontend checkers - [`KT-51863`](https://youtrack.jetbrains.com/issue/KT-51863) ClassCastException when using context receivers with named argument. - [`KT-55123`](https://youtrack.jetbrains.com/issue/KT-55123) JvmSerializableLambda is not applicable in common code in multiplatform projects - [`KT-45970`](https://youtrack.jetbrains.com/issue/KT-45970) Missing deprecation warnings for constant operators calls in property initializers - [`KT-54851`](https://youtrack.jetbrains.com/issue/KT-54851) K2: analysis of as/is contains multiple errors that result in missing diagnostics - [`KT-54668`](https://youtrack.jetbrains.com/issue/KT-54668) K2: Inference error in body of lazy property with elvis with Nothing in RHS - [`KT-55269`](https://youtrack.jetbrains.com/issue/KT-55269) FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass - [`KT-55026`](https://youtrack.jetbrains.com/issue/KT-55026) K2: Function hides internal constructor from another module - [`KT-53070`](https://youtrack.jetbrains.com/issue/KT-53070) Update intellij testdata fixes for FIR and merge it to master - [`KT-53492`](https://youtrack.jetbrains.com/issue/KT-53492) No parameter null check generated for constructor taking an inline class type - [`KT-50489`](https://youtrack.jetbrains.com/issue/KT-50489) Smart cast may lead to failing inference - [`KT-55160`](https://youtrack.jetbrains.com/issue/KT-55160) Kotlin's fragment element types must not extend `IStubFileElementType` - [`KT-55143`](https://youtrack.jetbrains.com/issue/KT-55143) K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes - [`KT-47933`](https://youtrack.jetbrains.com/issue/KT-47933) Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable - [`KT-55035`](https://youtrack.jetbrains.com/issue/KT-55035) FIR: do not use FirValueParameter for FirFunctionalTypeRef - [`KT-55095`](https://youtrack.jetbrains.com/issue/KT-55095) Wrong containingDeclarationSymbol in type parameter from Enhancement - [`KT-53946`](https://youtrack.jetbrains.com/issue/KT-53946) K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass - [`KT-54673`](https://youtrack.jetbrains.com/issue/KT-54673) K2. "Superclass is not accessible" from interface error for sealed interfaces - [`KT-55074`](https://youtrack.jetbrains.com/issue/KT-55074) OptIn false negative: constructor call with default argument value - [`KT-54260`](https://youtrack.jetbrains.com/issue/KT-54260) K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin - [`KT-55034`](https://youtrack.jetbrains.com/issue/KT-55034) FIR: provide information about containing function/constructor to FirValueParameter - [`KT-54744`](https://youtrack.jetbrains.com/issue/KT-54744) K2: reassigning a var erases smartcast info of a variable derived from the old value - [`KT-53988`](https://youtrack.jetbrains.com/issue/KT-53988) K2: False negative "The expression cannot be a selector (occur after a dot)" - [`KT-53983`](https://youtrack.jetbrains.com/issue/KT-53983) K2 crashes with NPE when 'this' is used inside enum class constructor - [`KT-54910`](https://youtrack.jetbrains.com/issue/KT-54910) Can not declare typed equals operator in inline class with "Nothing" return type - [`KT-54909`](https://youtrack.jetbrains.com/issue/KT-54909) Usage of custom typed equals operator in generic inline class is type-unsafe - [`KT-53371`](https://youtrack.jetbrains.com/issue/KT-53371) Properly resolve FIR to get fully resolved annotations - [`KT-53519`](https://youtrack.jetbrains.com/issue/KT-53519) FIR: argument mapping for annotations on value parameter is not properly built - [`KT-54827`](https://youtrack.jetbrains.com/issue/KT-54827) MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation of `androidMain` target - [`KT-54417`](https://youtrack.jetbrains.com/issue/KT-54417) K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type - [`KT-54972`](https://youtrack.jetbrains.com/issue/KT-54972) K2: Local functions with multiple type arguments are broken - [`KT-54762`](https://youtrack.jetbrains.com/issue/KT-54762) Private constructor is accessible from a public inline function via `@PublishedAPI` annotation - [`KT-54832`](https://youtrack.jetbrains.com/issue/KT-54832) Deprecate incorrect callable references resolution behavior for KT-54316 - [`KT-54732`](https://youtrack.jetbrains.com/issue/KT-54732) DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64 - [`KT-54897`](https://youtrack.jetbrains.com/issue/KT-54897) K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module - [`KT-54784`](https://youtrack.jetbrains.com/issue/KT-54784) NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts - [`KT-54840`](https://youtrack.jetbrains.com/issue/KT-54840) Field for const property on interface companion object loses deprecated status when copied to interface - [`KT-53825`](https://youtrack.jetbrains.com/issue/KT-53825) class files are generated when compilation fails with platform declaration clash - [`KT-54526`](https://youtrack.jetbrains.com/issue/KT-54526) K2: Raw type scope is lost after exiting from elvis - [`KT-54570`](https://youtrack.jetbrains.com/issue/KT-54570) K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types - [`KT-52157`](https://youtrack.jetbrains.com/issue/KT-52157) Annotation on type parameter isn't present in the symbol loaded from the library - [`KT-54318`](https://youtrack.jetbrains.com/issue/KT-54318) VerifyError on `{ null }` in catch block - [`KT-54654`](https://youtrack.jetbrains.com/issue/KT-54654) K2: Implicit types leaks into delegated member - [`KT-54645`](https://youtrack.jetbrains.com/issue/KT-54645) K2: Clash of two inherited classes with the same name - [`KT-53255`](https://youtrack.jetbrains.com/issue/KT-53255) \[FIR2IR] StackOverflowError with long when-expression conditions - [`KT-48861`](https://youtrack.jetbrains.com/issue/KT-48861) No warning on incorrect usage of array type annotated as Nullable in Java - [`KT-54539`](https://youtrack.jetbrains.com/issue/KT-54539) `@Deprecated` on members of private companion object is no longer needed - [`KT-54403`](https://youtrack.jetbrains.com/issue/KT-54403) Unexpected behaviour on overridden typed equals in inline class - [`KT-54536`](https://youtrack.jetbrains.com/issue/KT-54536) Unexpected result of comparison of inline class instances - [`KT-54603`](https://youtrack.jetbrains.com/issue/KT-54603) ClassCastException on comparison of inline classes with custom equals - [`KT-54401`](https://youtrack.jetbrains.com/issue/KT-54401) Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing' - [`KT-54378`](https://youtrack.jetbrains.com/issue/KT-54378) K2: smart cast breaks subtyping in case with complex projections - [`KT-53761`](https://youtrack.jetbrains.com/issue/KT-53761) Reified type not propagated to supertype token through two inline functions - [`KT-53876`](https://youtrack.jetbrains.com/issue/KT-53876) Manually instantiated annotations with unsigned arrays are not equal - [`KT-51740`](https://youtrack.jetbrains.com/issue/KT-51740) NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range - [`KT-54084`](https://youtrack.jetbrains.com/issue/KT-54084) ClassCastException when trying to call a context receiver's method - [`KT-51282`](https://youtrack.jetbrains.com/issue/KT-51282) IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using `@JvmMultifileClasses` - [`KT-53479`](https://youtrack.jetbrains.com/issue/KT-53479) False positive "Cannot access 'runCatching' before superclass constructor has been called" - [`KT-50950`](https://youtrack.jetbrains.com/issue/KT-50950) JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM function - [`KT-49364`](https://youtrack.jetbrains.com/issue/KT-49364) "VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int - [`KT-51478`](https://youtrack.jetbrains.com/issue/KT-51478) Inapplicable receiver diagnostic expected when there are two context receiver candidates ##### Docs & Examples - [`KT-32469`](https://youtrack.jetbrains.com/issue/KT-32469) `@Synchronized` on extension method doesn't generate instance lock ##### IDE ##### New Features - [`KTIJ-24378`](https://youtrack.jetbrains.com/issue/KTIJ-24378) Update Kotlin plugin to 1.8.0 in IDEA 223.2 ##### Performance Improvements - [`KT-55445`](https://youtrack.jetbrains.com/issue/KT-55445) KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE ##### Fixes - [`KTIJ-24657`](https://youtrack.jetbrains.com/issue/KTIJ-24657) Disable pre-release and other metadata checks in IDE - [`KT-55929`](https://youtrack.jetbrains.com/issue/KT-55929) Unresolved dependencies for intermediate multiplatform SourceSets - [`KTIJ-24179`](https://youtrack.jetbrains.com/issue/KTIJ-24179) Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2 - [`KTIJ-23547`](https://youtrack.jetbrains.com/issue/KTIJ-23547) K2 IDE: Functional type: explicit parameter name VS ParameterName annotation - [`KTIJ-23347`](https://youtrack.jetbrains.com/issue/KTIJ-23347) K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests - [`KT-55862`](https://youtrack.jetbrains.com/issue/KT-55862) Can't resolve kotlin-stdlib-js sources in IDE - [`KTIJ-23587`](https://youtrack.jetbrains.com/issue/KTIJ-23587) K2: SOE in delegate field resolution - [`KT-55782`](https://youtrack.jetbrains.com/issue/KT-55782) \[SLC] Typealiases are not exapnded in arguments of annotations - [`KT-55778`](https://youtrack.jetbrains.com/issue/KT-55778) \[SLC] Incorrect determination of useSitePostion for types of local declarations - [`KT-55780`](https://youtrack.jetbrains.com/issue/KT-55780) \[SLC] No approximation of anonymous and local types in members - [`KT-55743`](https://youtrack.jetbrains.com/issue/KT-55743) K2 SLC: SymbolLightClassForClassOrObject must have a name - [`KT-55604`](https://youtrack.jetbrains.com/issue/KT-55604) Descriptor leak - [`KT-55502`](https://youtrack.jetbrains.com/issue/KT-55502) SLC: drop redundant 'final' modifier from synthetic static enum members - [`KT-55497`](https://youtrack.jetbrains.com/issue/KT-55497) LC: drop `@NotNull` annotation from parameter from synthetic Enum.valueOf - [`KT-55496`](https://youtrack.jetbrains.com/issue/KT-55496) SLC: generated synthetic enum methods by symbols instead of manual creation - [`KT-55481`](https://youtrack.jetbrains.com/issue/KT-55481) SLC: implement correct java annotations for annotation classes (Retention, Target, etc.) - [`KT-55470`](https://youtrack.jetbrains.com/issue/KT-55470) SLC: implement light class for RepeatableContainer - [`KT-55442`](https://youtrack.jetbrains.com/issue/KT-55442) SLC: 'isInheritor' for 'DefaultImpls' should work correctly - [`KTIJ-23449`](https://youtrack.jetbrains.com/issue/KTIJ-23449) K2: "parent must not be null" from SymbolLightClassBase.getContext() - [`KT-40609`](https://youtrack.jetbrains.com/issue/KT-40609) IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with Throws - [`KT-54051`](https://youtrack.jetbrains.com/issue/KT-54051) Migrate symbol light classes from KtSymbol to KtElement ##### IDE. Completion - [`KTIJ-22503`](https://youtrack.jetbrains.com/issue/KTIJ-22503) Support code completion for data objects - [`KTIJ-22361`](https://youtrack.jetbrains.com/issue/KTIJ-22361) ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl <implicit>” on K2 ##### IDE. Debugger - [`KTIJ-24259`](https://youtrack.jetbrains.com/issue/KTIJ-24259) Debugger is stuck in an infinite loop in an Android project - [`KTIJ-24003`](https://youtrack.jetbrains.com/issue/KTIJ-24003) Smart step into doesn't work for Java synthetic properties references - [`KTIJ-24039`](https://youtrack.jetbrains.com/issue/KTIJ-24039) Support smart step into for property setters ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-24351`](https://youtrack.jetbrains.com/issue/KTIJ-24351) Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal ##### IDE. Gradle Integration - [`KTIJ-24616`](https://youtrack.jetbrains.com/issue/KTIJ-24616) Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-Beta - [`KT-55347`](https://youtrack.jetbrains.com/issue/KT-55347) Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised - [`KTIJ-23781`](https://youtrack.jetbrains.com/issue/KTIJ-23781) TCS: Gradle Sync: Support friend\&dependsOn via IdeaKotlinSourceDependency ##### IDE. Gradle. Script - [`KT-56941`](https://youtrack.jetbrains.com/issue/KT-56941) Gradle KTS / Navigation: Go to declaration for Java types doesn't work ##### IDE. Inspections and Intentions - [`KTIJ-23404`](https://youtrack.jetbrains.com/issue/KTIJ-23404) K2 IDE. Platform type is inserted as type parameter for "Change return type" intention - [`KTIJ-24319`](https://youtrack.jetbrains.com/issue/KTIJ-24319) "Set module version to \*" quickfix isn't working - [`KTIJ-23225`](https://youtrack.jetbrains.com/issue/KTIJ-23225) "Change package" intention unintentionally and intractably replaces text inside of critical strings and comments - [`KTIJ-23892`](https://youtrack.jetbrains.com/issue/KTIJ-23892) UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9 - [`KTIJ-22087`](https://youtrack.jetbrains.com/issue/KTIJ-22087) Support IDE inspections for upcoming data objects - [`KTIJ-24286`](https://youtrack.jetbrains.com/issue/KTIJ-24286) Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String - [`KTIJ-23859`](https://youtrack.jetbrains.com/issue/KTIJ-23859) ConvertObjectToDataObjectInspection support more hashCode and toString cases - [`KTIJ-23760`](https://youtrack.jetbrains.com/issue/KTIJ-23760) Get rid of `readResolve` logic in ConvertObjectToDataObjectInspection ##### IDE. KDoc - [`KTIJ-24342`](https://youtrack.jetbrains.com/issue/KTIJ-24342) KDoc: First line break character is swallowed when pasted ##### IDE. Misc - [`KTIJ-24370`](https://youtrack.jetbrains.com/issue/KTIJ-24370) Remove link to k2.xml from plugin.xml in kt-223 branches - [`KTIJ-24210`](https://youtrack.jetbrains.com/issue/KTIJ-24210) Compatibility issue with the CUBA plugin ##### IDE. Multiplatform - [`KTIJ-21205`](https://youtrack.jetbrains.com/issue/KTIJ-21205) MPP: Kotlin not configured error is shown for K/N sources if Android target is presented - [`KT-52172`](https://youtrack.jetbrains.com/issue/KT-52172) Multiplatform: Support composite builds - [`KT-56198`](https://youtrack.jetbrains.com/issue/KT-56198) Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build - [`KTIJ-24147`](https://youtrack.jetbrains.com/issue/KTIJ-24147) MPP: NullPointerException: versionString must not be null ##### IDE. Refactorings. Move - [`KTIJ-24243`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-56632) Script configuration cannot be loaded for embedded code snippets ##### IDE. Wizards - [`KTIJ-24562`](https://youtrack.jetbrains.com/issue/KTIJ-24562) Android target created by wizard contains AGP higher than supported - [`KTIJ-24402`](https://youtrack.jetbrains.com/issue/KTIJ-24402) Changes "Browser Application for Kotlin/Wasm" wizard template - [`KTIJ-23525`](https://youtrack.jetbrains.com/issue/KTIJ-23525) Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion ##### JavaScript ##### New Features - [`KT-54118`](https://youtrack.jetbrains.com/issue/KT-54118) Kotlin/JS IR: keep declarations with non-minified names - [`KT-35655`](https://youtrack.jetbrains.com/issue/KT-35655) Investigate could we use "names" field in SourceMaps to improve debug experience ##### Fixes - [`KT-55971`](https://youtrack.jetbrains.com/issue/KT-55971) KJS: Result of suspend function cannot be assigned to property of dynamic value - [`KT-52374`](https://youtrack.jetbrains.com/issue/KT-52374) KJS / IR: caling suspend function as dynamic ignores the rest of the expression - [`KT-56884`](https://youtrack.jetbrains.com/issue/KT-56884) KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion object - [`KT-51122`](https://youtrack.jetbrains.com/issue/KT-51122) Provide fully-qualified method name in Kotlin/JS source maps - [`KT-56602`](https://youtrack.jetbrains.com/issue/KT-56602) KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta - [`KT-56580`](https://youtrack.jetbrains.com/issue/KT-56580) KJS: languageVersionSettings string is unstable - [`KT-56581`](https://youtrack.jetbrains.com/issue/KT-56581) KJS: Lock file for incremental cache - [`KT-56582`](https://youtrack.jetbrains.com/issue/KT-56582) KJS: Function type interface reflection crashes the compiler in incremental build - [`KT-55720`](https://youtrack.jetbrains.com/issue/KT-55720) KJS: `ReferenceError: SuspendFunction1 is not defined` with 1.8 when importing`kotlin.coroutines.SuspendFunction1` - [`KT-56469`](https://youtrack.jetbrains.com/issue/KT-56469) KJS: BE Incremental rebuild spoils source map comment - [`KT-55930`](https://youtrack.jetbrains.com/issue/KT-55930) KJS: A recursive callable reference of the inline function leads broken cross module references - [`KT-31888`](https://youtrack.jetbrains.com/issue/KT-31888) Kotlin/JS: make possible to call `main()` in main run tasks, but not in test tasks - [`KT-51581`](https://youtrack.jetbrains.com/issue/KT-51581) FIR: support JS backend - [`KT-55786`](https://youtrack.jetbrains.com/issue/KT-55786) KJS: Rewriting of secondary constructors if they are protected - [`KT-52563`](https://youtrack.jetbrains.com/issue/KT-52563) KJS / IR: Invalid TypeScript generated for class extending base class with private constructor - [`KT-55367`](https://youtrack.jetbrains.com/issue/KT-55367) KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code - [`KT-55240`](https://youtrack.jetbrains.com/issue/KT-55240) KJS: "NoSuchElementException: No element of given type found" caused by `@JsExport` and `Throwable's` child class - [`KT-54398`](https://youtrack.jetbrains.com/issue/KT-54398) KJS / IR + IC: Support \*.d.ts generation - [`KT-55144`](https://youtrack.jetbrains.com/issue/KT-55144) KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller - [`KT-54134`](https://youtrack.jetbrains.com/issue/KT-54134) KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around - [`KT-54911`](https://youtrack.jetbrains.com/issue/KT-54911) KJS / IR + IC: invalidate all klib dependencies after removing it - [`KT-54912`](https://youtrack.jetbrains.com/issue/KT-54912) KJS / IR + IC: Commit cache header only in the end (after lowering) - [`KT-52677`](https://youtrack.jetbrains.com/issue/KT-52677) Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke" - [`KT-54480`](https://youtrack.jetbrains.com/issue/KT-54480) KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as default - [`KT-41294`](https://youtrack.jetbrains.com/issue/KT-41294) KJS: Weird behaviour of j2v8 in test infra - [`KT-54173`](https://youtrack.jetbrains.com/issue/KT-54173) Kotlin/JS + IR: failed to provide `keep` setting to avoid DCE remove of default interface function from implementing object ##### Language Design - [`KT-55451`](https://youtrack.jetbrains.com/issue/KT-55451) Preview of lifting restriction on secondary constructor bodies for value classes - [`KT-54621`](https://youtrack.jetbrains.com/issue/KT-54621) Preview of Enum.entries: modern and performant replacement for Enum.values() - [`KT-54525`](https://youtrack.jetbrains.com/issue/KT-54525) Preview of Java synthetic property references - [`KT-55337`](https://youtrack.jetbrains.com/issue/KT-55337) Preview of data objects - [`KT-55344`](https://youtrack.jetbrains.com/issue/KT-55344) Deprecate `@Synchronized` in platforms except JVM ##### Libraries - [`KT-35508`](https://youtrack.jetbrains.com/issue/KT-35508) EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.) - [`KT-56794`](https://youtrack.jetbrains.com/issue/KT-56794) Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystem - [`KT-55935`](https://youtrack.jetbrains.com/issue/KT-55935) \[Kotlin/JVM] Path.copyToRecursively does not work across file systems - [`KT-55978`](https://youtrack.jetbrains.com/issue/KT-55978) Provide Common Base64 encoding in stdlib - [`KT-46211`](https://youtrack.jetbrains.com/issue/KT-46211) \[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input - [`KT-31066`](https://youtrack.jetbrains.com/issue/KT-31066) Add Closeable & use to common stdlib - [`KT-55609`](https://youtrack.jetbrains.com/issue/KT-55609) Introduce experimental kotlin.concurrent.Volatile annotation - [`KT-39789`](https://youtrack.jetbrains.com/issue/KT-39789) Segfault in Kotlin/Native regex interpreter - [`KT-53310`](https://youtrack.jetbrains.com/issue/KT-53310) Native: HashMap/HashSet doesn't reclaim storage after removing elements ##### Native - [`KT-56443`](https://youtrack.jetbrains.com/issue/KT-56443) Native link task reports w: Cached libraries will not be used for optimized compilation - [`KT-55938`](https://youtrack.jetbrains.com/issue/KT-55938) \[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build ##### Native. C and ObjC Import - [`KT-55303`](https://youtrack.jetbrains.com/issue/KT-55303) Objective-C import: improve `-fmodules` flag discoverability. - [`KT-39120`](https://youtrack.jetbrains.com/issue/KT-39120) Cinterop tool doesn't support the -fmodules compiler argument - [`KT-40426`](https://youtrack.jetbrains.com/issue/KT-40426) Incorrect Objective-C extensions importing that prevents UIKit usage - [`KT-55653`](https://youtrack.jetbrains.com/issue/KT-55653) Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it - [`KT-54284`](https://youtrack.jetbrains.com/issue/KT-54284) Kotlin/Native: cinterop produces non-deterministic metadata ##### Native. ObjC Export - [`KT-56350`](https://youtrack.jetbrains.com/issue/KT-56350) Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks - [`KT-55736`](https://youtrack.jetbrains.com/issue/KT-55736) Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point" - [`KT-53638`](https://youtrack.jetbrains.com/issue/KT-53638) Native: support disabling mangling globally for Swift names in generated Objective-C header - [`KT-53069`](https://youtrack.jetbrains.com/issue/KT-53069) SOE on K/N framework build for Arm64 - [`KT-53317`](https://youtrack.jetbrains.com/issue/KT-53317) ObjCName annotation is not applied to an extension receiver in Objective-C export ##### Native. Stdlib - [`KT-53064`](https://youtrack.jetbrains.com/issue/KT-53064) Native: provide stdlib API to obtain memory management statistics ##### Reflection - [`KT-27585`](https://youtrack.jetbrains.com/issue/KT-27585) Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessible - [`KT-55178`](https://youtrack.jetbrains.com/issue/KT-55178) Improve performance of KCallable.callBy - [`KT-53279`](https://youtrack.jetbrains.com/issue/KT-53279) Reflection: "KotlinReflectionInternalError: Method is not supported" caused by `@Repeatable` annotation deserialization at runtime if it's repeated and contains arrays - [`KT-44977`](https://youtrack.jetbrains.com/issue/KT-44977) Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access ##### Tools. CLI - [`KT-57077`](https://youtrack.jetbrains.com/issue/KT-57077) `1.8.20-RC-243` shows Java 19 warnings even if configured with Java 17 toolchain - [`KT-56992`](https://youtrack.jetbrains.com/issue/KT-56992) Performance test regression in Gradle when switching to Kotlin 1.8.20 - [`KT-56789`](https://youtrack.jetbrains.com/issue/KT-56789) Metaspace memory leak in CoreJrtFileSystem - [`KT-56925`](https://youtrack.jetbrains.com/issue/KT-56925) Remove warning about assignment plugin - [`KT-54652`](https://youtrack.jetbrains.com/issue/KT-54652) Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable - [`KT-55784`](https://youtrack.jetbrains.com/issue/KT-55784) Unable to format compilation errors with ansi colors in compilation server - [`KT-54718`](https://youtrack.jetbrains.com/issue/KT-54718) K2: Compiler crashes with "IllegalArgumentException: newPosition > limit" - [`KT-54337`](https://youtrack.jetbrains.com/issue/KT-54337) CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error ##### Tools. Commonizer - [`KT-47429`](https://youtrack.jetbrains.com/issue/KT-47429) \[Commonizer] OKIO support - [`KT-51517`](https://youtrack.jetbrains.com/issue/KT-51517) C Interop Commonizer Fails On Classifier That Doesn't Exist ##### Tools. Compiler Plugins ##### Fixes - [`KT-53590`](https://youtrack.jetbrains.com/issue/KT-53590) K2 Allopen does not look for transitive meta-annotations - [`KT-56487`](https://youtrack.jetbrains.com/issue/KT-56487) Add more methods to DescriptorSerializerPlugin - [`KT-54020`](https://youtrack.jetbrains.com/issue/KT-54020) \[K2] \[NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to `@AllArgsConstructor` annotation and an empty list is set as a constructor param value - [`KT-53096`](https://youtrack.jetbrains.com/issue/KT-53096) Create a pack of compiler utilities for generating declarations from plugins - [`KT-55248`](https://youtrack.jetbrains.com/issue/KT-55248) K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes - [`KT-54756`](https://youtrack.jetbrains.com/issue/KT-54756) Deprecate "legacy" mode of jvm-abi-gen plugin - [`KT-55233`](https://youtrack.jetbrains.com/issue/KT-55233) jvm-abi-gen strips out InnerClass attributes - [`KT-54994`](https://youtrack.jetbrains.com/issue/KT-54994) K2 plugin API: Compile-time constants are not evaluated before IR - [`KT-55023`](https://youtrack.jetbrains.com/issue/KT-55023) K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries - [`KT-55286`](https://youtrack.jetbrains.com/issue/KT-55286) K2: Parcelize plugin sometimes can't find nested objects in current class - [`KT-54500`](https://youtrack.jetbrains.com/issue/KT-54500) Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen ##### Tools. Compiler plugins. Serialization - [`KT-56738`](https://youtrack.jetbrains.com/issue/KT-56738) Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum - [`KT-56990`](https://youtrack.jetbrains.com/issue/KT-56990) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using `@Serializer` and List argument - [`KT-54441`](https://youtrack.jetbrains.com/issue/KT-54441) Prohibit implicit serializer customization via companion object - [`KT-49983`](https://youtrack.jetbrains.com/issue/KT-49983) Implement prototype of kotlinx.serialization for K2 compiler - [`KT-48733`](https://youtrack.jetbrains.com/issue/KT-48733) "AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter - [`KT-54297`](https://youtrack.jetbrains.com/issue/KT-54297) Regression in serializable classes with star projections ##### Tools. Gradle ##### New Features - [`KT-54691`](https://youtrack.jetbrains.com/issue/KT-54691) Kotlin Gradle Plugin libraries alignment platform - [`KT-54492`](https://youtrack.jetbrains.com/issue/KT-54492) Send gradle build errors from idea - [`KT-55540`](https://youtrack.jetbrains.com/issue/KT-55540) Add compilation speed metric in build reports - [`KT-55541`](https://youtrack.jetbrains.com/issue/KT-55541) Validate FUS metrics values on Gradle side ##### Performance Improvements - [`KT-54836`](https://youtrack.jetbrains.com/issue/KT-54836) Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+ - [`KT-55995`](https://youtrack.jetbrains.com/issue/KT-55995) Add ability to perform precise compilation task outputs backup - [`KT-54579`](https://youtrack.jetbrains.com/issue/KT-54579) Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11 - [`KT-54588`](https://youtrack.jetbrains.com/issue/KT-54588) KotlinCompile: Avoid calling `FileCollection.getFiles()` multiple times ##### Fixes - [`KT-57296`](https://youtrack.jetbrains.com/issue/KT-57296) Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied - [`KT-56645`](https://youtrack.jetbrains.com/issue/KT-56645) Gradle: KGP reports an incorrect resources processing task name for JVM projects - [`KT-55824`](https://youtrack.jetbrains.com/issue/KT-55824) Deprecate `commonMain.dependsOn(anything)` in user scripts - [`KT-56221`](https://youtrack.jetbrains.com/issue/KT-56221) Gradle KTS: False positive `Val cannot be reassigned` when using an extension and its property with an implicit `set` operator - [`KT-55452`](https://youtrack.jetbrains.com/issue/KT-55452) Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task - [`KT-55565`](https://youtrack.jetbrains.com/issue/KT-55565) Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask - [`KT-55632`](https://youtrack.jetbrains.com/issue/KT-55632) 'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8 - [`KT-56414`](https://youtrack.jetbrains.com/issue/KT-56414) Dependency locking and failed builds with Kotlin 1.8.10 - [`KT-52625`](https://youtrack.jetbrains.com/issue/KT-52625) Compatibility with Gradle 7.4 release - [`KT-55544`](https://youtrack.jetbrains.com/issue/KT-55544) Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs - [`KT-52149`](https://youtrack.jetbrains.com/issue/KT-52149) Gradle: declare shared build services usages with `Task#usesService` - [`KT-55323`](https://youtrack.jetbrains.com/issue/KT-55323) Gradle: allow to opt-out of reporting compiler arguments to a http statistics service - [`KT-53811`](https://youtrack.jetbrains.com/issue/KT-53811) Compatibility with Gradle 7.6 release - [`KT-52998`](https://youtrack.jetbrains.com/issue/KT-52998) Compatibility with Gradle 7.5 release - [`KT-55741`](https://youtrack.jetbrains.com/issue/KT-55741) Gradle 8: Build service '*' is being used by task '*' without the corresponding declaration via 'Task#usesService'. - [`KT-55174`](https://youtrack.jetbrains.com/issue/KT-55174) KotlinCompile task produces deprecation "Build service 'variant_impl_factories\_...' is being used by task" - [`KT-54425`](https://youtrack.jetbrains.com/issue/KT-54425) Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage() - [`KT-54998`](https://youtrack.jetbrains.com/issue/KT-54998) "kotlin.gradle.performance" FUS collector reports data twice - [`KT-55520`](https://youtrack.jetbrains.com/issue/KT-55520) Add required configuration for Kotlin Gradle Plugin API reference publication - [`KT-52963`](https://youtrack.jetbrains.com/issue/KT-52963) Build report code breaks Gradle project isolation. - [`KT-55164`](https://youtrack.jetbrains.com/issue/KT-55164) KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache fails - [`KT-52490`](https://youtrack.jetbrains.com/issue/KT-52490) Gradle: \[org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings - [`KT-55000`](https://youtrack.jetbrains.com/issue/KT-55000) Include information about the new IC into "kotlin.gradle.performance" FUS collector - [`KT-54941`](https://youtrack.jetbrains.com/issue/KT-54941) Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build - [`KT-45748`](https://youtrack.jetbrains.com/issue/KT-45748) Migrate all Kotlin Gradle plugin Android tests to new test setup - [`KT-54029`](https://youtrack.jetbrains.com/issue/KT-54029) Validate Binary Compatibility for kotlin-gradle-plugin-api ##### Tools. Gradle. Cocoapods - [`KT-41830`](https://youtrack.jetbrains.com/issue/KT-41830) CocoaPods integration: Support link-only mode for pods - [`KT-55117`](https://youtrack.jetbrains.com/issue/KT-55117) PodGenTask doesn't declare ouputs properly - [`KT-55243`](https://youtrack.jetbrains.com/issue/KT-55243) Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project - [`KT-56304`](https://youtrack.jetbrains.com/issue/KT-56304) Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries - [`KT-56298`](https://youtrack.jetbrains.com/issue/KT-56298) Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project - [`KT-55801`](https://youtrack.jetbrains.com/issue/KT-55801) Deprecate useLibraries - [`KT-55790`](https://youtrack.jetbrains.com/issue/KT-55790) Improper sdk selected for watchosDeviceArm64 target ##### Tools. Gradle. JS ##### New Features - [`KT-25878`](https://youtrack.jetbrains.com/issue/KT-25878) Provide Option to Define Scoped NPM Package - [`KT-37759`](https://youtrack.jetbrains.com/issue/KT-37759) \[Gradle, JS] Support arguments of command line for webpack and nodejs task - [`KT-33518`](https://youtrack.jetbrains.com/issue/KT-33518) Allow specifying command line args for node in nodejs or mocha tests - [`KT-46163`](https://youtrack.jetbrains.com/issue/KT-46163) KJS / Ktor: Support run on the next free port if default one is occupied ##### Performance Improvements - [`KT-55476`](https://youtrack.jetbrains.com/issue/KT-55476) KotlinWebpack should be cacheable - [`KT-39108`](https://youtrack.jetbrains.com/issue/KT-39108) Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin - [`KT-45411`](https://youtrack.jetbrains.com/issue/KT-45411) Investigate memory consumption in npm package - [`KT-51376`](https://youtrack.jetbrains.com/issue/KT-51376) KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies ##### Fixes - [`KT-57285`](https://youtrack.jetbrains.com/issue/KT-57285) KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset - [`KT-57068`](https://youtrack.jetbrains.com/issue/KT-57068) KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta - [`KT-54445`](https://youtrack.jetbrains.com/issue/KT-54445) KJS Remove dukat integration - [`KT-56999`](https://youtrack.jetbrains.com/issue/KT-56999) K/JS: KotlinJsIrLink::rootCacheDirectory property must be public - [`KT-56765`](https://youtrack.jetbrains.com/issue/KT-56765) K/JS: Several binaries use same cache directory - [`KT-54529`](https://youtrack.jetbrains.com/issue/KT-54529) KJS / IR: generate typescript definitions only on explicit Gradle action - [`KT-56488`](https://youtrack.jetbrains.com/issue/KT-56488) Debugger won't stop on breakpoints of JS browser test - [`KT-56719`](https://youtrack.jetbrains.com/issue/KT-56719) KJS / Gradle: Compile sync task has to sync only changed files - [`KT-56131`](https://youtrack.jetbrains.com/issue/KT-56131) KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken - [`KT-37668`](https://youtrack.jetbrains.com/issue/KT-37668) Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL" - [`KT-35285`](https://youtrack.jetbrains.com/issue/KT-35285) Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locations - [`KT-55593`](https://youtrack.jetbrains.com/issue/KT-55593) KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as `@Deprecated` in 1.8 - [`KT-33291`](https://youtrack.jetbrains.com/issue/KT-33291) JS: No build result with gradle parallel build in multiproject build - [`KT-40925`](https://youtrack.jetbrains.com/issue/KT-40925) KJS: need a way to configure extra environment variables for the test task - [`KT-47236`](https://youtrack.jetbrains.com/issue/KT-47236) KJS: `kotlinNpmInstall` fails if no yarn is downloaded - [`KT-53288`](https://youtrack.jetbrains.com/issue/KT-53288) KJS / Gradle: FileNotFoundException when customising moduleName - [`KT-54511`](https://youtrack.jetbrains.com/issue/KT-54511) Kotlin/JS generated package.json main field is not correctly set if module name contains a `/` (slash) - [`KT-54421`](https://youtrack.jetbrains.com/issue/KT-54421) KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14 - [`KT-54503`](https://youtrack.jetbrains.com/issue/KT-54503) Make the target observer API public in kotlin JS Extension - [`KT-54418`](https://youtrack.jetbrains.com/issue/KT-54418) KJS: Change test running with kotlin-test adapter - [`KT-54132`](https://youtrack.jetbrains.com/issue/KT-54132) KJS IR: Sometimes karma failed on teamcity because of uninitialized browser ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-54766`](https://youtrack.jetbrains.com/issue/KT-54766) TCS: external Android Target APIs: Milestone: Compile - [`KT-50967`](https://youtrack.jetbrains.com/issue/KT-50967) Make c-interop libs resolve robust to build clean - [`KT-53570`](https://youtrack.jetbrains.com/issue/KT-53570) multiplatform 'natural hierarchy' prototype ##### Fixes - [`KT-36943`](https://youtrack.jetbrains.com/issue/KT-36943) Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar - [`KT-57460`](https://youtrack.jetbrains.com/issue/KT-57460) Kotlin Gradle Plugin: Null `this` pointer in transformCommonMainDependenciesMetadata - [`KT-57306`](https://youtrack.jetbrains.com/issue/KT-57306) \[Kotlin 1.8.20-RC] GradleException: Could not load the value of field `apiConfiguration` of `org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer` - [`KTIJ-23750`](https://youtrack.jetbrains.com/issue/KTIJ-23750) KotlinMppModelSerializationService is not invoked in production environment - [`KTIJ-24223`](https://youtrack.jetbrains.com/issue/KTIJ-24223) Update latest tested KGP version to 1.9.0-dev-764 - [`KT-56536`](https://youtrack.jetbrains.com/issue/KT-56536) Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name - [`KTIJ-23889`](https://youtrack.jetbrains.com/issue/KTIJ-23889) TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies - [`KT-56729`](https://youtrack.jetbrains.com/issue/KT-56729) commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3 - [`KT-56510`](https://youtrack.jetbrains.com/issue/KT-56510) Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution - [`KT-54180`](https://youtrack.jetbrains.com/issue/KT-54180) TCS: Initial external Android Target APIs - [`KT-55010`](https://youtrack.jetbrains.com/issue/KT-55010) TCS: External Android Target Prototype: Setup Android dependencies - [`KT-54783`](https://youtrack.jetbrains.com/issue/KT-54783) KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations - [`KT-54867`](https://youtrack.jetbrains.com/issue/KT-54867) KotlinWithJavaCompilation does not respect javaSourceSet classpaths - [`KT-52413`](https://youtrack.jetbrains.com/issue/KT-52413) MPP: Gradle dependency substitution breaks KMP import for native targets - [`KT-56115`](https://youtrack.jetbrains.com/issue/KT-56115) Multiplatform;Composite Builds: Support import with cinterop commonization enabled - [`KT-54312`](https://youtrack.jetbrains.com/issue/KT-54312) TCS: Replace CompilationDetails abstract class hierarchy by composable implementation - [`KT-47441`](https://youtrack.jetbrains.com/issue/KT-47441) MPP: Unresolved reference for dependent on the other module with dependencySubstitution - [`KT-56429`](https://youtrack.jetbrains.com/issue/KT-56429) Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder - [`KT-56337`](https://youtrack.jetbrains.com/issue/KT-56337) Unable to import a project with cinterop with enableKgpDependencyResolution - [`KT-55873`](https://youtrack.jetbrains.com/issue/KT-55873) Unrequested dependencies leaking into common source sets: Regression after [`703fd0f`](https://github.com/JetBrains/kotlin/commit/703fd0f2) - [`KT-55891`](https://youtrack.jetbrains.com/issue/KT-55891) Deprecate pre-HMPP flags - [`KT-56278`](https://youtrack.jetbrains.com/issue/KT-56278) TCS: Gradle Sync: \[MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets - [`KT-56143`](https://youtrack.jetbrains.com/issue/KT-56143) CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target - [`KT-56285`](https://youtrack.jetbrains.com/issue/KT-56285) TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution - [`KT-56204`](https://youtrack.jetbrains.com/issue/KT-56204) KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix - [`KT-56111`](https://youtrack.jetbrains.com/issue/KT-56111) Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required - [`KT-54974`](https://youtrack.jetbrains.com/issue/KT-54974) TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers - [`KT-38712`](https://youtrack.jetbrains.com/issue/KT-38712) Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish - [`KT-54975`](https://youtrack.jetbrains.com/issue/KT-54975) TCS: Gradle Sync: Implement stdlib-common filter for platform source sets - [`KT-48839`](https://youtrack.jetbrains.com/issue/KT-48839) Sources.jar of the root artifact of MPP library includes source files from test sourcesets - [`KT-55492`](https://youtrack.jetbrains.com/issue/KT-55492) TCS: Gradle Sync: Sources and Documentation as extra 'classpath' - [`KT-55237`](https://youtrack.jetbrains.com/issue/KT-55237) TCS: Gradle Sync: Support stdlib-native sources - [`KT-55475`](https://youtrack.jetbrains.com/issue/KT-55475) TCS: Gradle Sync: Fine tune jvmAndAndroid source sets - [`KT-55189`](https://youtrack.jetbrains.com/issue/KT-55189) TCS: Gradle Sync: Support icons (native, js) and global libraries - [`KT-55218`](https://youtrack.jetbrains.com/issue/KT-55218) KotlinTargetHierarchy: Disambiguate declaring targets vs including targets - [`KT-55112`](https://youtrack.jetbrains.com/issue/KT-55112) TCS: Gradle Sync: Resolve Source Dependencies - [`KT-54977`](https://youtrack.jetbrains.com/issue/KT-54977) TCS: Gradle Sync: Implement debugging tools - [`KT-54948`](https://youtrack.jetbrains.com/issue/KT-54948) TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS - [`KT-55289`](https://youtrack.jetbrains.com/issue/KT-55289) TCS: Gradle Sync: Prototypical sources jar resolution - [`KT-55238`](https://youtrack.jetbrains.com/issue/KT-55238) TCS: Gradle Sync: Support commonized native distribution - [`KT-55230`](https://youtrack.jetbrains.com/issue/KT-55230) Remove metadata dependencies transformation for runtimeOnly scope - [`KT-53338`](https://youtrack.jetbrains.com/issue/KT-53338) Prettify the message about incompatible AGP and KGP versions - [`KT-55134`](https://youtrack.jetbrains.com/issue/KT-55134) MPP / Gradle: Cannot read test tasks state - [`KT-54506`](https://youtrack.jetbrains.com/issue/KT-54506) Test tasks are considered up-to-date after a failure when triggered by `allTests` - [`KTIJ-23509`](https://youtrack.jetbrains.com/issue/KTIJ-23509) Update latest tested KGP version to 1.8.20-dev-1815 - [`KT-54787`](https://youtrack.jetbrains.com/issue/KT-54787) Test tasks are not up-to-date when an individual test task called after aggregating test task - [`KT-54033`](https://youtrack.jetbrains.com/issue/KT-54033) Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis - [`KT-54202`](https://youtrack.jetbrains.com/issue/KT-54202) CInterop Commonization fails on first run when native distribution is not yet commonizied - [`KT-54135`](https://youtrack.jetbrains.com/issue/KT-54135) Add documentation with examples to CompositeMetadataArtifact ##### Tools. Gradle. Native - [`KT-37051`](https://youtrack.jetbrains.com/issue/KT-37051) MPP Gradle plugin: duplicated cinterop libraries in composite build - [`KT-55650`](https://youtrack.jetbrains.com/issue/KT-55650) Pass through errors from Gradle to Xcode - [`KT-56205`](https://youtrack.jetbrains.com/issue/KT-56205) Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs - [`KT-54969`](https://youtrack.jetbrains.com/issue/KT-54969) Support podspec generation for the new K/N artifact DSL ##### Tools. Incremental Compile - [`KT-55021`](https://youtrack.jetbrains.com/issue/KT-55021) New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facades - [`KTIJ-21161`](https://youtrack.jetbrains.com/issue/KTIJ-21161) Incremental build is taking too long when no files have changed in the project - [`KT-53832`](https://youtrack.jetbrains.com/issue/KT-53832) Enable new incremental compilation by default in Gradle - [`KT-55622`](https://youtrack.jetbrains.com/issue/KT-55622) MPP: Incremental compilation ignores changes in source set structure - [`KT-55309`](https://youtrack.jetbrains.com/issue/KT-55309) IC: Get rid of `NonCachingLazyStorage` - [`KT-53402`](https://youtrack.jetbrains.com/issue/KT-53402) Incremental compilation tries to compile resources - [`KT-54791`](https://youtrack.jetbrains.com/issue/KT-54791) Incremental compilation in JPS broken in 1.8.20-dev-1815 ##### Tools. JPS - [`KT-56165`](https://youtrack.jetbrains.com/issue/KT-56165) Language version 1.9 and 2.0 is absent in Kotlin Compiler settings - [`KT-51536`](https://youtrack.jetbrains.com/issue/KT-51536) \[JPS] Recompile module on facet settings change - [`KT-53735`](https://youtrack.jetbrains.com/issue/KT-53735) JPS / IC: "IOException: The system cannot find the file specified" on Windows - [`KT-47983`](https://youtrack.jetbrains.com/issue/KT-47983) \[JPS] Adding compilerSettings to Facet should initiate rebuild of module - [`KT-54449`](https://youtrack.jetbrains.com/issue/KT-54449) Cyrillic characters in a filename break builds on linux ##### Tools. Kapt ##### New Features - [`KT-53135`](https://youtrack.jetbrains.com/issue/KT-53135) Enable JVM IR for KAPT stub generation by default - [`KT-41129`](https://youtrack.jetbrains.com/issue/KT-41129) kotlin-maven-plugin + kapt - allow aptMode to be set according to docs ##### Fixes - [`KT-56635`](https://youtrack.jetbrains.com/issue/KT-56635) KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta - [`KT-56360`](https://youtrack.jetbrains.com/issue/KT-56360) Kapt with JVM IR changes fields order - [`KT-54380`](https://youtrack.jetbrains.com/issue/KT-54380) Kapt / IR: Build failed when inheritance by functional interface with suspend modifier - [`KT-54245`](https://youtrack.jetbrains.com/issue/KT-54245) JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt - [`KT-33847`](https://youtrack.jetbrains.com/issue/KT-33847) Kapt does not included Filer-generated class files on compilation classpath - [`KT-55490`](https://youtrack.jetbrains.com/issue/KT-55490) Kapt + JVM IR: "annotation `@Foo` is missing default values" - [`KT-43786`](https://youtrack.jetbrains.com/issue/KT-43786) KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope - [`KT-43117`](https://youtrack.jetbrains.com/issue/KT-43117) Kapt: "System is already defined in this compilation unit" - [`KT-46966`](https://youtrack.jetbrains.com/issue/KT-46966) Kapt: correctErrorTypes: receiver type is NonExistentClass - [`KT-46965`](https://youtrack.jetbrains.com/issue/KT-46965) Kapt: correctErrorTypes: custom setter gets Object parameter type - [`KT-51087`](https://youtrack.jetbrains.com/issue/KT-51087) KAPT: `@JvmRepeatable` annotations are present in inverse order in KAPT stubs - [`KT-54870`](https://youtrack.jetbrains.com/issue/KT-54870) KAPT stub generation with JVM_IR backend throws exception for delegated properties - [`KT-44350`](https://youtrack.jetbrains.com/issue/KT-44350) Kapt Gradle integration tests failing with Android Gradle plugin 7.0 - [`KT-54030`](https://youtrack.jetbrains.com/issue/KT-54030) Kapt: annotation processor warnings are displayed as errors on JDK 17+ - [`KT-32596`](https://youtrack.jetbrains.com/issue/KT-32596) kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation - [`KT-37586`](https://youtrack.jetbrains.com/issue/KT-37586) KAPT: When delegated property use an unknown type (to-be-generated class), `correctTypeError` will mess up the `$delegate` field type ##### Tools. Maven - [`KT-56697`](https://youtrack.jetbrains.com/issue/KT-56697) IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddress - [`KT-55709`](https://youtrack.jetbrains.com/issue/KT-55709) Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible" - [`KT-29346`](https://youtrack.jetbrains.com/issue/KT-29346) Add components.xml to automatically compile kotlin maven projects - [`KT-13995`](https://youtrack.jetbrains.com/issue/KT-13995) Maven: Kotlin compiler plugin should respect model's compile source roots - [`KT-54822`](https://youtrack.jetbrains.com/issue/KT-54822) Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt\_\_StringsJVMKt.startsWith, parameter <this>" from Kotlin Maven plugin invoking compiler when <arg> tags are empty - [`KT-47110`](https://youtrack.jetbrains.com/issue/KT-47110) Disable jdk8-specific warnings in kotlin-maven-plugin ##### Tools. Scripts - [`KT-54095`](https://youtrack.jetbrains.com/issue/KT-54095) It is difficult (if not impossible) to use kotlin compiler plugins with scripting - [`KT-54461`](https://youtrack.jetbrains.com/issue/KT-54461) Warnings and stack traces when executing scripts via kotlin-maven-plugin - [`KT-54733`](https://youtrack.jetbrains.com/issue/KT-54733) Scripts: ConcurrentModificationException in \*.main.kts scripts - [`KT-53283`](https://youtrack.jetbrains.com/issue/KT-53283) Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.20.zip | 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4 | | kotlin-native-linux-x86\_64-1.8.20.tar.gz | 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438 | | kotlin-native-macos-x86\_64-1.8.20.tar.gz | e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055 | | kotlin-native-macos-aarch64-1.8.20.tar.gz | becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2 | | kotlin-native-windows-x86\_64-1.8.20.zip | 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a | ### [`v1.8.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.10): Kotlin 1.8.10 #### Changelog ##### Compiler - [`KT-55483`](https://youtrack.jetbrains.com/issue/KT-55483) K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory - [`KT-55729`](https://youtrack.jetbrains.com/issue/KT-55729) "None of the following functions can be called with the arguments supplied:" in 1.8.0 - [`KT-55769`](https://youtrack.jetbrains.com/issue/KT-55769) "ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0 - [`KT-55308`](https://youtrack.jetbrains.com/issue/KT-55308) InnerClass attributes should be sorted (innermost last) ##### JavaScript - [`KT-56282`](https://youtrack.jetbrains.com/issue/KT-56282) KJS: Invalidate incremental cache in case of compiler internal errors - [`KT-55852`](https://youtrack.jetbrains.com/issue/KT-55852) JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type - [`KT-55716`](https://youtrack.jetbrains.com/issue/KT-55716) KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0 - [`KT-55758`](https://youtrack.jetbrains.com/issue/KT-55758) KJS / IR: Checking implemented interface on a class implementing a [@&#8203;JsExport](https://github.com/JsExport) interface returns the wrong result ##### Reflection - [`KT-56093`](https://youtrack.jetbrains.com/issue/KT-56093) Metaspace leak in a Gradle plugin built with Kotlin 1.8.0 ##### Tools. Compiler plugins. Serialization - [`KT-56347`](https://youtrack.jetbrains.com/issue/KT-56347) \[Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error - [`KT-55681`](https://youtrack.jetbrains.com/issue/KT-55681) Serialization: NullPointerException after update to 1.8.0 caused by `@Serializer(forClass= ..)` - [`KT-56244`](https://youtrack.jetbrains.com/issue/KT-56244) kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 - [`KT-55683`](https://youtrack.jetbrains.com/issue/KT-55683) Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object - [`KT-55682`](https://youtrack.jetbrains.com/issue/KT-55682) Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0 ##### Tools. Gradle - [`KT-55697`](https://youtrack.jetbrains.com/issue/KT-55697) KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath ##### Tools. Gradle. Multiplatform - [`KT-55730`](https://youtrack.jetbrains.com/issue/KT-55730) MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets ##### Tools. Gradle. Native - [`KT-56280`](https://youtrack.jetbrains.com/issue/KT-56280) Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries ##### Tools. Kapt - [`KT-48013`](https://youtrack.jetbrains.com/issue/KT-48013) Kapt generates illegal stubs for private interface methods #### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.10.zip | 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 | | kotlin-native-linux-x86\_64-1.8.10.tar.gz | 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 | | kotlin-native-macos-x86\_64-1.8.10.tar.gz | 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db | | kotlin-native-macos-aarch64-1.8.10.tar.gz | 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 | | kotlin-native-windows-x86\_64-1.8.10.zip | e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d | ### [`v1.8.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.8.0): Kotlin 1.8.0 ##### Changelog ##### Analysis API - [`KT-50255`](https://youtrack.jetbrains.com/issue/KT-50255) Analysis API: Implement standalone mode for the Analysis API ##### Analysis API. FIR - [`KT-54292`](https://youtrack.jetbrains.com/issue/KT-54292) Symbol Light classes: implement PsiVariable.computeConstantValue for light field - [`KT-54293`](https://youtrack.jetbrains.com/issue/KT-54293) Analysis API: fix constructor symbol creation when its accessed via type alias ##### Android - [`KT-53342`](https://youtrack.jetbrains.com/issue/KT-53342) TCS: New AndroidSourceSet layout for multiplatform - [`KT-53013`](https://youtrack.jetbrains.com/issue/KT-53013) Increase AGP compile version in KGP to 4.1.3 - [`KT-54013`](https://youtrack.jetbrains.com/issue/KT-54013) Report error when using deprecated Kotlin Android Extensions compiler plugin - [`KT-53709`](https://youtrack.jetbrains.com/issue/KT-53709) MPP, Android SSL2: Conflicting warnings for `androidTest/kotlin` source set folder ##### Backend. Native. Debug - [`KT-53561`](https://youtrack.jetbrains.com/issue/KT-53561) Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location" ##### Compiler ##### New Features - [`KT-52817`](https://youtrack.jetbrains.com/issue/KT-52817) Add `@JvmSerializableLambda` annotation to keep old behavior of non-invokedynamic lambdas - [`KT-54460`](https://youtrack.jetbrains.com/issue/KT-54460) Implementation of non-local break and continue - [`KT-53916`](https://youtrack.jetbrains.com/issue/KT-53916) Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler - [`KT-32208`](https://youtrack.jetbrains.com/issue/KT-32208) Generate method annotations into bytecode for suspend lambdas (on invokeSuspend) - [`KT-53438`](https://youtrack.jetbrains.com/issue/KT-53438) Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage ##### Performance Improvements - [`KT-53347`](https://youtrack.jetbrains.com/issue/KT-53347) Get rid of excess allocations in parser - [`KT-53689`](https://youtrack.jetbrains.com/issue/KT-53689) JVM: Optimize equality on class literals - [`KT-53119`](https://youtrack.jetbrains.com/issue/KT-53119) Improve String Concatenation Lowering ##### Fixes - [`KT-53465`](https://youtrack.jetbrains.com/issue/KT-53465) Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20 - [`KT-49658`](https://youtrack.jetbrains.com/issue/KT-49658) NI: False negative TYPE_MISMATCH on nullable type with `when` - [`KT-48162`](https://youtrack.jetbrains.com/issue/KT-48162) NON_VARARG_SPREAD isn't reported on \*toTypedArray() call - [`KT-43493`](https://youtrack.jetbrains.com/issue/KT-43493) NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas - [`KT-54393`](https://youtrack.jetbrains.com/issue/KT-54393) Change in behavior from 1.7.10 to 1.7.20 for java field override. - [`KT-55357`](https://youtrack.jetbrains.com/issue/KT-55357) IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound - [`KT-55068`](https://youtrack.jetbrains.com/issue/KT-55068) Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend - [`KT-51284`](https://youtrack.jetbrains.com/issue/KT-51284) SAM conversion doesn't work if method has context receivers - [`KT-48532`](https://youtrack.jetbrains.com/issue/KT-48532) Remove old JVM backend - [`KT-55065`](https://youtrack.jetbrains.com/issue/KT-55065) Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend - [`KT-53270`](https://youtrack.jetbrains.com/issue/KT-53270) K1: implement synthetic Enum.entries property - [`KT-52823`](https://youtrack.jetbrains.com/issue/KT-52823) Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8 - [`KT-55108`](https://youtrack.jetbrains.com/issue/KT-55108) IR interpreter: Error occurred while optimizing an expression: VARARG - [`KT-53547`](https://youtrack.jetbrains.com/issue/KT-53547) Missing fun IrBuilderWithScope.irFunctionReference - [`KT-54884`](https://youtrack.jetbrains.com/issue/KT-54884) "StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant - [`KT-47475`](https://youtrack.jetbrains.com/issue/KT-47475) "IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses - [`KT-55013`](https://youtrack.jetbrains.com/issue/KT-55013) State checker use-after-free with XCode 14.1 - [`KT-54802`](https://youtrack.jetbrains.com/issue/KT-54802) "VerifyError: Bad type on operand stack" for inline functions on arrays - [`KT-54707`](https://youtrack.jetbrains.com/issue/KT-54707) "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value - [`KT-48678`](https://youtrack.jetbrains.com/issue/KT-48678) Coroutine debugger: disable "was optimised out" compiler feature - [`KT-54745`](https://youtrack.jetbrains.com/issue/KT-54745) Restore KtToken constructors without tokenId parameter to preserve back compatibility - [`KT-54650`](https://youtrack.jetbrains.com/issue/KT-54650) Binary incompatible ABI change in Kotlin 1.7.20 - [`KT-52786`](https://youtrack.jetbrains.com/issue/KT-52786) Frontend / K2: IndexOutOfBoundsException when opting in to K2 - [`KT-54004`](https://youtrack.jetbrains.com/issue/KT-54004) Builder type inference does not work correctly with variable assignment and breaks run-time - [`KT-54581`](https://youtrack.jetbrains.com/issue/KT-54581) JVM: "VerifyError: Bad type on operand stack" with generic inline function and `when` inside try-catch block - [`KT-53794`](https://youtrack.jetbrains.com/issue/KT-53794) IAE "Unknown visibility: protected/*protected and package*/" on callable reference to protected member of Java superclass - [`KT-54600`](https://youtrack.jetbrains.com/issue/KT-54600) NPE on passing nullable Kotlin lambda as Java's generic SAM interface with `super` type bound - [`KT-54463`](https://youtrack.jetbrains.com/issue/KT-54463) Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate - [`KT-54509`](https://youtrack.jetbrains.com/issue/KT-54509) Ir Interpreter: unable to evaluate string concatenation with "this" as argument - [`KT-54615`](https://youtrack.jetbrains.com/issue/KT-54615) JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression - [`KT-53146`](https://youtrack.jetbrains.com/issue/KT-53146) JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime - [`KT-53712`](https://youtrack.jetbrains.com/issue/KT-53712) Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER) - [`KT-54366`](https://youtrack.jetbrains.com/issue/KT-54366) K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8 - [`KT-35187`](https://youtrack.jetbrains.com/issue/KT-35187) NullPointerException on compiling suspend inline fun with typealias to suspend function type - [`KT-54275`](https://youtrack.jetbrains.com/issue/KT-54275) K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION" - [`KT-53656`](https://youtrack.jetbrains.com/issue/KT-53656) "IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parameters - [`KT-46727`](https://youtrack.jetbrains.com/issue/KT-46727) Report warning on contravariant usages of star projected argument from Java - [`KT-53197`](https://youtrack.jetbrains.com/issue/KT-53197) K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier - [`KT-53867`](https://youtrack.jetbrains.com/issue/KT-53867) K2: `@JvmRecord` does not compile to a java record - [`KT-53964`](https://youtrack.jetbrains.com/issue/KT-53964) K2 is unable to work with Java records - [`KT-53349`](https://youtrack.jetbrains.com/issue/KT-53349) K2: TYPE_MISMATCH caused by non-local return - [`KT-54100`](https://youtrack.jetbrains.com/issue/KT-54100) "Type variable TypeVariable(P) should not be fixed" crash in code with errors - [`KT-54212`](https://youtrack.jetbrains.com/issue/KT-54212) K2: cannot calculate implicit property type - [`KT-53699`](https://youtrack.jetbrains.com/issue/KT-53699) K2: Exception during IR lowering in code with coroutines - [`KT-54192`](https://youtrack.jetbrains.com/issue/KT-54192) Warn about unsupported feature on generic inline class parameters - [`KT-53723`](https://youtrack.jetbrains.com/issue/KT-53723) Friend modules aren't getting passed to cache build during box tests - [`KT-53873`](https://youtrack.jetbrains.com/issue/KT-53873) K2: Duplicated diagnostics reported from user type ref checkers - [`KT-50909`](https://youtrack.jetbrains.com/issue/KT-50909) "VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class - [`KT-54115`](https://youtrack.jetbrains.com/issue/KT-54115) Restore Psi2IrTranslator constructor from 1.7.20 - [`KT-53908`](https://youtrack.jetbrains.com/issue/KT-53908) K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo\<T extends Foo<T>>) - [`KT-53193`](https://youtrack.jetbrains.com/issue/KT-53193) K2: compile error on project that compiles fine with normal 1.7.10 - [`KT-54062`](https://youtrack.jetbrains.com/issue/KT-54062) K2 Invalid serialization for type-aliased suspend function type with extension receiver - [`KT-53953`](https://youtrack.jetbrains.com/issue/KT-53953) Forbid usages of super or super<Some> if in fact it accesses an abstract member - [`KT-47473`](https://youtrack.jetbrains.com/issue/KT-47473) NI: Missed UPPER_BOUND_VIOLATED diagnostics if use type aliases with type parameters - [`KT-54049`](https://youtrack.jetbrains.com/issue/KT-54049) K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED - [`KT-30054`](https://youtrack.jetbrains.com/issue/KT-30054) Wrong approximation if nullable anonymous object with implemented interface is used - [`KT-53751`](https://youtrack.jetbrains.com/issue/KT-53751) Postpone IgnoreNullabilityForErasedValueParameters feature - [`KT-53324`](https://youtrack.jetbrains.com/issue/KT-53324) Implement Enum.entries lowering on K/N - [`KT-44441`](https://youtrack.jetbrains.com/issue/KT-44441) K2: report redeclaration error if there is a Java class with the same name as the Kotlin class - [`KT-53807`](https://youtrack.jetbrains.com/issue/KT-53807) No warning about declaringClass on an enum value - [`KT-53493`](https://youtrack.jetbrains.com/issue/KT-53493) K2: `val on function parameter` counts as just warning - [`KT-53435`](https://youtrack.jetbrains.com/issue/KT-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 concatenated - [`KT-52927`](https://youtrack.jetbrains.com/issue/KT-52927) AssertionError: LambdaKotlinCallArgumentImpl - [`KT-53922`](https://youtrack.jetbrains.com/issue/KT-53922) Make Enum.entries unstable feature to poison binaries - [`KT-53783`](https://youtrack.jetbrains.com/issue/KT-53783) Exception during psi2ir when declaring expect data object - [`KT-53622`](https://youtrack.jetbrains.com/issue/KT-53622) \[OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2 - [`KT-41670`](https://youtrack.jetbrains.com/issue/KT-41670) JVM IR: AbstractMethodError when using inheritance for fun interfaces - [`KT-53178`](https://youtrack.jetbrains.com/issue/KT-53178) K2: implement diagnostics for serialization plugin - [`KT-53804`](https://youtrack.jetbrains.com/issue/KT-53804) Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib - [`KT-52970`](https://youtrack.jetbrains.com/issue/KT-52970) Default value constant in companion object works on JVM and JS, but fails on native - [`KT-51114`](https://youtrack.jetbrains.com/issue/KT-51114) FIR: Support DNN checks - [`KT-27936`](https://youtrack.jetbrains.com/issue/KT-27936) Write InnerClasses attribute for all class names used in a class file - [`KT-53719`](https://youtrack.jetbrains.com/issue/KT-53719) Parsing regression on function call with type arguments and labeled lambda - [`KT-53261`](https://youtrack.jetbrains.com/issue/KT-53261) Evaluate effect from <T-unbox> inline for primitive types - [`KT-53706`](https://youtrack.jetbrains.com/issue/KT-53706) K2: Context receivers are not resolved on properties during type resolution stage - [`KT-39492`](https://youtrack.jetbrains.com/issue/KT-39492) Kotlin.Metadata's packageName field cannot be an empty string - [`KT-53664`](https://youtrack.jetbrains.com/issue/KT-53664) Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module - [`KT-52478`](https://youtrack.jetbrains.com/issue/KT-52478) \[Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one - [`KT-48822`](https://youtrack.jetbrains.com/issue/KT-48822) CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException - [`KT-50281`](https://youtrack.jetbrains.com/issue/KT-50281) IllegalStateException: unsupported call of reified inlined function - [`KT-50083`](https://youtrack.jetbrains.com/issue/KT-50083) Different error messages in android and JVM (Intrinsics.checkNotNullParameter). - [`KT-53236`](https://youtrack.jetbrains.com/issue/KT-53236) Support Enum.entries codegen on JVM/IR BE - [`KT-41017`](https://youtrack.jetbrains.com/issue/KT-41017) FIR: should we support smartcast after null check - [`KT-53202`](https://youtrack.jetbrains.com/issue/KT-53202) "ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda - [`KT-46969`](https://youtrack.jetbrains.com/issue/KT-46969) `@BuilderInference` with nested DSL scopes cause false-positive scope violation in Kotlin 1.5 - [`KT-53257`](https://youtrack.jetbrains.com/issue/KT-53257) FIR: Improper context receiver argument is chosen when there are two extension receiver candidates - [`KT-53090`](https://youtrack.jetbrains.com/issue/KT-53090) Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy - [`KT-53208`](https://youtrack.jetbrains.com/issue/KT-53208) K2: Cannot get annotation for default interface method parameter when compiled with `-Xuse-k2` - [`KT-53184`](https://youtrack.jetbrains.com/issue/KT-53184) K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealias - [`KT-53198`](https://youtrack.jetbrains.com/issue/KT-53198) K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit? - [`KT-53100`](https://youtrack.jetbrains.com/issue/KT-53100) Optimization needed: <T-unbox>(CONSTANT_PRIMITIVE(x: T?)) => x - [`KT-49875`](https://youtrack.jetbrains.com/issue/KT-49875) \[FIR] Support infering PRIVATE_TO_THIS visibility - [`KT-53024`](https://youtrack.jetbrains.com/issue/KT-53024) Refactor FIR renderer to composable architecture - [`KT-50995`](https://youtrack.jetbrains.com/issue/KT-50995) \[FIR] Support SAM with receiver plugin - [`KT-53148`](https://youtrack.jetbrains.com/issue/KT-53148) K1: introduce warning for inline virtual member in enum - [`KT-49847`](https://youtrack.jetbrains.com/issue/KT-49847) Devirtualization fails to eliminate boxing in function reference context - [`KT-52875`](https://youtrack.jetbrains.com/issue/KT-52875) Extension function literal creation with `-Xlambdas=indy` fails with incorrect arguments - [`KT-53072`](https://youtrack.jetbrains.com/issue/KT-53072) INVALID_IF_AS_EXPRESSION error isn't shown in the IDE (LV 1.8) - [`KT-52985`](https://youtrack.jetbrains.com/issue/KT-52985) Native: a function with type `T?` returned a `kotlin.Unit` instead of `null` - [`KT-52020`](https://youtrack.jetbrains.com/issue/KT-52020) FIR warning message includes internal rendering - [`KT-48778`](https://youtrack.jetbrains.com/issue/KT-48778) -Xtype-enhancement-improvements-strict-mode not respecting `@NonNull` annotation for property accesses? ##### IDE ##### Fixes - [`KTIJ-22357`](https://youtrack.jetbrains.com/issue/KTIJ-22357) CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2 - [`KT-55150`](https://youtrack.jetbrains.com/issue/KT-55150) Argument for `@NotNull` parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null - [`KTIJ-22165`](https://youtrack.jetbrains.com/issue/KTIJ-22165) IDE notification to promote users to migrate to the new Kotlin/JS toolchain - [`KTIJ-22166`](https://youtrack.jetbrains.com/issue/KTIJ-22166) IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated - [`KT-53543`](https://youtrack.jetbrains.com/issue/KT-53543) Rework light classes for file facade - [`KT-48773`](https://youtrack.jetbrains.com/issue/KT-48773) Investigate the possibility of removing dependency on old JVM backend in light classes - [`KTIJ-19699`](https://youtrack.jetbrains.com/issue/KTIJ-19699) IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library - [`KT-51101`](https://youtrack.jetbrains.com/issue/KT-51101) FIR IDE: Exception on "Show Type Info" action - [`KTIJ-22295`](https://youtrack.jetbrains.com/issue/KTIJ-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`](https://youtrack.jetbrains.com/issue/KT-51656) FIR IDE: ProgressCancelled exception is masked in the compiler during resolve - [`KT-51315`](https://youtrack.jetbrains.com/issue/KT-51315) FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin - [`KTIJ-22323`](https://youtrack.jetbrains.com/issue/KTIJ-22323) K2: ISE during resolve of stdlib calls from the stdlib - [`KTIJ-21391`](https://youtrack.jetbrains.com/issue/KTIJ-21391) Generate -> Override methods : don't delegate to abstract methods - [`KT-53097`](https://youtrack.jetbrains.com/issue/KT-53097) Extract common part of light classes to another module - [`KTIJ-22354`](https://youtrack.jetbrains.com/issue/KTIJ-22354) FIR LC: annotation owner is always null - [`KTIJ-22157`](https://youtrack.jetbrains.com/issue/KTIJ-22157) Kotlin call resolver leaks user code when reporting exception ##### IDE. Completion - [`KTIJ-22552`](https://youtrack.jetbrains.com/issue/KTIJ-22552) Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader" - [`KTIJ-22503`](https://youtrack.jetbrains.com/issue/KTIJ-22503) Support code completion for data objects ##### IDE. Debugger - [`KT-51755`](https://youtrack.jetbrains.com/issue/KT-51755) Compilation exception with scripting compilation during debug session - [`KTIJ-21963`](https://youtrack.jetbrains.com/issue/KTIJ-21963) Debugger / IR: Expression evaluation of the debugger doesn't work ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-22750`](https://youtrack.jetbrains.com/issue/KTIJ-22750) Initialize Kotlin stub element types lazily - [`KTIJ-18094`](https://youtrack.jetbrains.com/issue/KTIJ-18094) IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library - [`KTIJ-17632`](https://youtrack.jetbrains.com/issue/KTIJ-17632) IndexOutOfBoundsException: Cannot decompile a class located in minified AAR ##### IDE. Gradle Integration - [`KT-48135`](https://youtrack.jetbrains.com/issue/KT-48135) In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries - [`KTIJ-22345`](https://youtrack.jetbrains.com/issue/KTIJ-22345) False positive unresolved reference for members of subclasses of expect classes. - [`KT-53514`](https://youtrack.jetbrains.com/issue/KT-53514) HMPP: False positive for `None of the following functions can be called with the arguments supplied.` with Enum in common module - [`KT-51583`](https://youtrack.jetbrains.com/issue/KT-51583) Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath' - [`KTIJ-21077`](https://youtrack.jetbrains.com/issue/KTIJ-21077) Dependency matrix does not work with Jetpack compose / multiplatform projects ##### IDE. Inspections and Intentions - [`KTIJ-19531`](https://youtrack.jetbrains.com/issue/KTIJ-19531) Adapt changes about new rules for method implementation requirements - [`KTIJ-22087`](https://youtrack.jetbrains.com/issue/KTIJ-22087) Support IDE inspections for upcoming data objects - [`KTIJ-20510`](https://youtrack.jetbrains.com/issue/KTIJ-20510) Quick fix to implement and call correct super method in case of inheritance with defaults - [`KTIJ-20170`](https://youtrack.jetbrains.com/issue/KTIJ-20170) Provide quickfix for deprecated resolution to private constructor of sealed class - [`KTIJ-22630`](https://youtrack.jetbrains.com/issue/KTIJ-22630) FIR IDE: Lazy resolve exception after invocation of `Override members` action on value class - [`KT-49643`](https://youtrack.jetbrains.com/issue/KT-49643) Intentions: "Implement members" fails when base type function declaration uses unresolved generic types ##### IDE. JS - [`KTIJ-22167`](https://youtrack.jetbrains.com/issue/KTIJ-22167) Make JS IR default in projects created by wizard - [`KTIJ-22332`](https://youtrack.jetbrains.com/issue/KTIJ-22332) Wizard: Kotlin/JS projects: cssSupport DSL should be updated ##### IDE. KDoc - [`KTIJ-22324`](https://youtrack.jetbrains.com/issue/KTIJ-22324) K2 IDE: implement reference resolve inside KDocs ##### IDE. Multiplatform - [`KTIJ-19566`](https://youtrack.jetbrains.com/issue/KTIJ-19566) New Project Wizard: Update HMPP-related flags in multiplatform wizards ##### IDE. Navigation - [`KT-51314`](https://youtrack.jetbrains.com/issue/KT-51314) FIR IDE: show Kotlin declarations in search symbol - [`KTIJ-22755`](https://youtrack.jetbrains.com/issue/KTIJ-22755) Find usage for constructor from kotlin library doesn't work for secondary constructor usages ##### IDE. Script - [`KTIJ-22598`](https://youtrack.jetbrains.com/issue/KTIJ-22598) Add warning for standalone scripts in source roots - [`KT-54325`](https://youtrack.jetbrains.com/issue/KT-54325) .settings.gradle.kts and .init.gradle.kts are reported as standalone scripts ##### IDE. Structural Search - [`KTIJ-21986`](https://youtrack.jetbrains.com/issue/KTIJ-21986) KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing ##### IDE. Tests Support - [`KT-50269`](https://youtrack.jetbrains.com/issue/KT-50269) FIR IDE: Allow running tests via gutter ##### IDE. Wizards - [`KTIJ-23537`](https://youtrack.jetbrains.com/issue/KTIJ-23537) Wizard: projects with Android modules require higher sdkCompileVersion - [`KTIJ-23525`](https://youtrack.jetbrains.com/issue/KTIJ-23525) Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion - [`KTIJ-22763`](https://youtrack.jetbrains.com/issue/KTIJ-22763) New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor - [`KTIJ-22481`](https://youtrack.jetbrains.com/issue/KTIJ-22481) Wizard: Kotlin -> Browser application (gradle groove). Build error ##### JavaScript ##### Fixes - [`KT-55097`](https://youtrack.jetbrains.com/issue/KT-55097) KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception - [`KT-54406`](https://youtrack.jetbrains.com/issue/KT-54406) Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in \[~/.local/share/kotlin/daemon]" - [`KT-53074`](https://youtrack.jetbrains.com/issue/KT-53074) Make JS IR BE default in toolchain (gradle & CLI) - [`KT-50589`](https://youtrack.jetbrains.com/issue/KT-50589) UTF-8 Instability in kotlin.js.map - [`KT-54934`](https://youtrack.jetbrains.com/issue/KT-54934) KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures - [`KT-54895`](https://youtrack.jetbrains.com/issue/KT-54895) KJS / IR + IC: broken cross module references for function default param wrappers - [`KT-54520`](https://youtrack.jetbrains.com/issue/KT-54520) KJS / IR Allow IdSignature clashes - [`KT-54120`](https://youtrack.jetbrains.com/issue/KT-54120) JS IR + IC: pointless invalidation of dependent code after modifying companions - [`KT-53986`](https://youtrack.jetbrains.com/issue/KT-53986) KJS / IR + IC: compiler produces different JS file names with IC and without IC - [`KT-54010`](https://youtrack.jetbrains.com/issue/KT-54010) JS IR + IC: Force IC cache invalidation after updating language version or features - [`KT-53931`](https://youtrack.jetbrains.com/issue/KT-53931) KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined - [`KT-53968`](https://youtrack.jetbrains.com/issue/KT-53968) Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies - [`KT-54686`](https://youtrack.jetbrains.com/issue/KT-54686) KJS / IR: Incorrect generation of signatures when one of argument is nested class - [`KT-54479`](https://youtrack.jetbrains.com/issue/KT-54479) KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure - [`KT-54382`](https://youtrack.jetbrains.com/issue/KT-54382) KJS / IR: Wrong type check for inheritors of suspend functions - [`KT-54323`](https://youtrack.jetbrains.com/issue/KT-54323) KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild - [`KT-53361`](https://youtrack.jetbrains.com/issue/KT-53361) KJS / IR: No debug info is generated for in-line js code - [`KT-53321`](https://youtrack.jetbrains.com/issue/KT-53321) Implement Enum.entries lowering on JS/IR - [`KT-53112`](https://youtrack.jetbrains.com/issue/KT-53112) KJS IR turn on IC infra by default - [`KT-50503`](https://youtrack.jetbrains.com/issue/KT-50503) Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency - [`KT-54011`](https://youtrack.jetbrains.com/issue/KT-54011) JS IR + IC: EnumEntries don't work well when IC is enabled - [`KT-53672`](https://youtrack.jetbrains.com/issue/KT-53672) KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable - [`KT-43455`](https://youtrack.jetbrains.com/issue/KT-43455) KJS: IR. Incremental compilation problem with unbound symbols - [`KT-53539`](https://youtrack.jetbrains.com/issue/KT-53539) KJS: Exported class inherited non-exported class shows warning - [`KT-53443`](https://youtrack.jetbrains.com/issue/KT-53443) KJS/IR: NullPointerException caused by anonymous objects inside lambdas - [`KT-52795`](https://youtrack.jetbrains.com/issue/KT-52795) K/JS and K/Native IR-validation/compilation errors for a valid kotlin code - [`KT-52805`](https://youtrack.jetbrains.com/issue/KT-52805) KJS/IR: Invalid call of inline function in `also` block - [`KT-51151`](https://youtrack.jetbrains.com/issue/KT-51151) KJS / IR: Wrong overloaded generic method with receiver is called - [`KT-52830`](https://youtrack.jetbrains.com/issue/KT-52830) KJS/IR: Sourcemap disabling doesn't work - [`KT-52968`](https://youtrack.jetbrains.com/issue/KT-52968) KJS / IR: Buggy generation of overridden methods - [`KT-53063`](https://youtrack.jetbrains.com/issue/KT-53063) KJS / IR + IC: undefined cross module reference for implemented interface functions - [`KT-51099`](https://youtrack.jetbrains.com/issue/KT-51099) KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out) - [`KT-51090`](https://youtrack.jetbrains.com/issue/KT-51090) KJS / IR + IC: Cache invalidation doesn't check suspend qualifier - [`KT-51088`](https://youtrack.jetbrains.com/issue/KT-51088) KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline) - [`KT-51083`](https://youtrack.jetbrains.com/issue/KT-51083) KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initially - [`KT-51896`](https://youtrack.jetbrains.com/issue/KT-51896) KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions ##### Language Design - [`KT-48385`](https://youtrack.jetbrains.com/issue/KT-48385) Deprecate confusing grammar in when-with-subject - [`KT-48516`](https://youtrack.jetbrains.com/issue/KT-48516) Forbid `@Synchronized` annotation on suspend functions - [`KT-41886`](https://youtrack.jetbrains.com/issue/KT-41886) Ability to require opt-in for interface implementation, but not for usage - [`KT-34943`](https://youtrack.jetbrains.com/issue/KT-34943) OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code - [`KT-51334`](https://youtrack.jetbrains.com/issue/KT-51334) Implement type-bound label `this@Type` ##### Libraries ##### New Features - [`KT-21007`](https://youtrack.jetbrains.com/issue/KT-21007) Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7) - [`KT-54082`](https://youtrack.jetbrains.com/issue/KT-54082) Comparable and subtractible TimeMarks - [`KT-52928`](https://youtrack.jetbrains.com/issue/KT-52928) Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path - [`KT-49425`](https://youtrack.jetbrains.com/issue/KT-49425) Update OptIn documentation to reflect latest design changes - [`KT-54005`](https://youtrack.jetbrains.com/issue/KT-54005) Allow calling `declaringJavaClass` on Enum<E> - [`KT-52933`](https://youtrack.jetbrains.com/issue/KT-52933) rangeUntil members in built-in types ##### Performance Improvements - [`KT-53508`](https://youtrack.jetbrains.com/issue/KT-53508) Cache typeOf-related KType instances when kotlin-reflect is used ##### Fixes - [`KT-51907`](https://youtrack.jetbrains.com/issue/KT-51907) Switch JVM target of the standard libraries to 1.8 - [`KT-54835`](https://youtrack.jetbrains.com/issue/KT-54835) Document that Iterable.all(emptyCollection) returns TRUE. - [`KT-54168`](https://youtrack.jetbrains.com/issue/KT-54168) Expand on natural order in comparator docs - [`KT-53277`](https://youtrack.jetbrains.com/issue/KT-53277) Stabilize experimental API for 1.8 - [`KT-53864`](https://youtrack.jetbrains.com/issue/KT-53864) Review deprecations in stdlib for 1.8 - [`KT-47707`](https://youtrack.jetbrains.com/issue/KT-47707) Remove the system property and the brittle `contains` optimization code itself - [`KT-52336`](https://youtrack.jetbrains.com/issue/KT-52336) Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1) - [`KT-53927`](https://youtrack.jetbrains.com/issue/KT-53927) Remove deprecation from ConcurrentModificationException constructors - [`KT-53152`](https://youtrack.jetbrains.com/issue/KT-53152) Introduce EnumEntries<E> to stdlib as backing implementation of Enum.entries - [`KT-53134`](https://youtrack.jetbrains.com/issue/KT-53134) stdlib > object Charsets > not thread safe lazy initialization - [`KT-51063`](https://youtrack.jetbrains.com/issue/KT-51063) Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit - [`KT-52908`](https://youtrack.jetbrains.com/issue/KT-52908) Native: setUnhandledExceptionHook swallows exceptions ##### Native - [`KT-51043`](https://youtrack.jetbrains.com/issue/KT-51043) Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2 - [`KT-50786`](https://youtrack.jetbrains.com/issue/KT-50786) Native: prohibit suspend calls inside autoreleasepool {} - [`KT-52834`](https://youtrack.jetbrains.com/issue/KT-52834) Implement test infrastructure for K2/Native ##### Native. C Export - [`KT-36878`](https://youtrack.jetbrains.com/issue/KT-36878) Reverse C Interop: incorrect headers generation for primitive unassigned type arrays - [`KT-53599`](https://youtrack.jetbrains.com/issue/KT-53599) \[Reverse C Interop] Provide box/unbox API for unsigned primitive types - [`KT-41904`](https://youtrack.jetbrains.com/issue/KT-41904) Kotlin/Native : error: duplicate member for interface and function with the same name - [`KT-42830`](https://youtrack.jetbrains.com/issue/KT-42830) \[Reverse C Interop] Add API to get value of boxed primitives - [`KT-39496`](https://youtrack.jetbrains.com/issue/KT-39496) K/N C: optional unsigned types as function parameters crash the compiler - [`KT-39015`](https://youtrack.jetbrains.com/issue/KT-39015) Cannot compile native library with nullable inline class ##### Native. C and ObjC Import - [`KT-54738`](https://youtrack.jetbrains.com/issue/KT-54738) Cocoapods cinterop: linking platform.CoreGraphics package - [`KT-54001`](https://youtrack.jetbrains.com/issue/KT-54001) Kotlin/Native: support header exclusion in cinterop def files - [`KT-53151`](https://youtrack.jetbrains.com/issue/KT-53151) Native: Custom declarations in .def don't work with modules, only headers ##### Native. ObjC Export - [`KT-53680`](https://youtrack.jetbrains.com/issue/KT-53680) Obj-C refinement annotations - [`KT-54119`](https://youtrack.jetbrains.com/issue/KT-54119) Native: runtime assertion failed due to missing thread state switch - [`KT-42641`](https://youtrack.jetbrains.com/issue/KT-42641) Don't export generated component\* methods from Kotlin data classes to Obj-C header ##### Native. Platform Libraries - [`KT-54225`](https://youtrack.jetbrains.com/issue/KT-54225) Native: update to Xcode 14.1 - [`KT-54164`](https://youtrack.jetbrains.com/issue/KT-54164) Native: commonizer fails on CoreFoundation types - [`KT-39747`](https://youtrack.jetbrains.com/issue/KT-39747) Why is there no WinHttp API in Kotlin/Native's Windows API? ##### Native. Runtime - [`KT-49228`](https://youtrack.jetbrains.com/issue/KT-49228) Kotlin/Native: Allow to unset unhandled exception hook - [`KT-27305`](https://youtrack.jetbrains.com/issue/KT-27305) Fix **FILE** macro inside `RuntimeCheck` and `RuntimeAssert` ##### Native. Runtime. Memory - [`KT-54498`](https://youtrack.jetbrains.com/issue/KT-54498) Deprecation message of 'FreezingIsDeprecated' is not really helpful - [`KT-53182`](https://youtrack.jetbrains.com/issue/KT-53182) New memory manager: Unexpected memory usage on IOS ##### Native. Stdlib - [`KT-52429`](https://youtrack.jetbrains.com/issue/KT-52429) Small Usability Improvements for Worker API ##### Reflection - [`KT-54629`](https://youtrack.jetbrains.com/issue/KT-54629) Incorrectly cached class classifier - [`KT-54611`](https://youtrack.jetbrains.com/issue/KT-54611) `KTypeImpl` does not take into account class loader from the `classifier` property - [`KT-48136`](https://youtrack.jetbrains.com/issue/KT-48136) Make `Reflection.getOrCreateKotlinPackage` use cache when `kotlin-reflect` is used - [`KT-50705`](https://youtrack.jetbrains.com/issue/KT-50705) Use ClassValue to cache KClass objects in kotlin-reflect - [`KT-53454`](https://youtrack.jetbrains.com/issue/KT-53454) Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClass ##### Specification - [`KT-54210`](https://youtrack.jetbrains.com/issue/KT-54210) Update Kotlin specification to mention that since 1.8 generics in value classes are allowed ##### Tools. CLI - [`KT-54116`](https://youtrack.jetbrains.com/issue/KT-54116) Add JVM target bytecode version 19 - [`KT-53278`](https://youtrack.jetbrains.com/issue/KT-53278) Support values 6 and 8 for -Xjdk-release - [`KT-46312`](https://youtrack.jetbrains.com/issue/KT-46312) CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+ ##### Tools. Commonizer - [`KT-54310`](https://youtrack.jetbrains.com/issue/KT-54310) Commonizer fails on 1.8.0-dev K/N distributions - [`KT-48576`](https://youtrack.jetbrains.com/issue/KT-48576) \[Commonizer] platform.posix.pselect not commonized in Ktor ##### Tools. Compiler Plugins - [`KT-46959`](https://youtrack.jetbrains.com/issue/KT-46959) Kotlin Lombok: Support generated builders (`@Builder`) - [`KT-53683`](https://youtrack.jetbrains.com/issue/KT-53683) Unresolved reference compilation error occurs if a file is annotated with `@` Singular and has any guava collection type : ImmutableTable, ImmutableList or else - [`KT-53657`](https://youtrack.jetbrains.com/issue/KT-53657) \[K2] Unresolved reference compilation error occurs if a field is annotated with `@` Singular and has type NavigableMap without explicit types specification - [`KT-53647`](https://youtrack.jetbrains.com/issue/KT-53647) \[K2] Unresolved reference compilation error occurs if a field is annotated with `@` Singular and has type Iterable<> - [`KT-53724`](https://youtrack.jetbrains.com/issue/KT-53724) Param of the `@` Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler - [`KT-53451`](https://youtrack.jetbrains.com/issue/KT-53451) \[K2] References to methods generated by `@` With lombok annotation can't be resolved with enabled K2 compiler - [`KT-53721`](https://youtrack.jetbrains.com/issue/KT-53721) \[K2] There is no compilation error while trying to add null as a param of the field with non-null type - [`KT-53370`](https://youtrack.jetbrains.com/issue/KT-53370) Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with `@` With annotation ##### Tools. Compiler plugins. Serialization - [`KT-54878`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-55340) Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type - [`KT-55296`](https://youtrack.jetbrains.com/issue/KT-55296) Improve exceptions in serialization plugin - [`KT-55180`](https://youtrack.jetbrains.com/issue/KT-55180) KJS: regression in serialization for Kotlin 1.8.0-beta - [`KT-53157`](https://youtrack.jetbrains.com/issue/KT-53157) Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization - [`KT-54297`](https://youtrack.jetbrains.com/issue/KT-54297) Regression in serializable classes with star projections - [`KT-49660`](https://youtrack.jetbrains.com/issue/KT-49660) kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class - [`KT-43910`](https://youtrack.jetbrains.com/issue/KT-43910) JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" ##### Tools. Daemon - [`KT-52622`](https://youtrack.jetbrains.com/issue/KT-52622) Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8 ##### Tools. Gradle ##### New Features - [`KT-27301`](https://youtrack.jetbrains.com/issue/KT-27301) Expose compiler flags via Gradle lazy properties - [`KT-53357`](https://youtrack.jetbrains.com/issue/KT-53357) Change single build metrics property - [`KT-50673`](https://youtrack.jetbrains.com/issue/KT-50673) Gradle: KotlinCompile task(s) should use `@NormalizeLineEndings` - [`KT-34464`](https://youtrack.jetbrains.com/issue/KT-34464) Kotlin build report path not clickable in the IDE ##### Performance Improvements - [`KT-51525`](https://youtrack.jetbrains.com/issue/KT-51525) \[Gradle] Optimize evaluating args for compile tasks - [`KT-52520`](https://youtrack.jetbrains.com/issue/KT-52520) Remove usage of reflection from CompilerArgumentsGradleInput ##### Fixes - [`KT-48843`](https://youtrack.jetbrains.com/issue/KT-48843) Add ability to disable Kotlin daemon fallback strategy - [`KT-55334`](https://youtrack.jetbrains.com/issue/KT-55334) kaptGenerateStubs passes wrong android variant module names to compiler - [`KT-55255`](https://youtrack.jetbrains.com/issue/KT-55255) Gradle: stdlib version alignment fails build on dynamic stdlib version. - [`KT-55363`](https://youtrack.jetbrains.com/issue/KT-55363) \[K1.8.0-Beta] Command line parsing treats plugin parameters as source files - [`KT-54993`](https://youtrack.jetbrains.com/issue/KT-54993) Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+ - [`KT-54136`](https://youtrack.jetbrains.com/issue/KT-54136) Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android project - [`KT-50115`](https://youtrack.jetbrains.com/issue/KT-50115) Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly - [`KT-55222`](https://youtrack.jetbrains.com/issue/KT-55222) Migrate AndroidDependencyResolver to the new Gradle API - [`KT-55119`](https://youtrack.jetbrains.com/issue/KT-55119) There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources - [`KT-55102`](https://youtrack.jetbrains.com/issue/KT-55102) Compile java task fails with different target version in pure kotlin project - [`KT-54995`](https://youtrack.jetbrains.com/issue/KT-54995) \[1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with `No value passed for parameter 'mustExist'` - [`KT-35003`](https://youtrack.jetbrains.com/issue/KT-35003) Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadata - [`KT-45335`](https://youtrack.jetbrains.com/issue/KT-45335) kotlinOptions.jvmTarget conflicts with Gradle variants - [`KT-48798`](https://youtrack.jetbrains.com/issue/KT-48798) Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change - [`KT-55019`](https://youtrack.jetbrains.com/issue/KT-55019) Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation - [`KT-55004`](https://youtrack.jetbrains.com/issue/KT-55004) jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {} - [`KT-54888`](https://youtrack.jetbrains.com/issue/KT-54888) Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase - [`KT-54399`](https://youtrack.jetbrains.com/issue/KT-54399) Undeprecate 'kotlinOptions' DSL - [`KT-54306`](https://youtrack.jetbrains.com/issue/KT-54306) Change the naming of newly added Compiler\*Options classes and interfaces - [`KT-54580`](https://youtrack.jetbrains.com/issue/KT-54580) KotlinOptions in AbstractKotlinCompilation class are deprecated - [`KT-54653`](https://youtrack.jetbrains.com/issue/KT-54653) java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added - [`KT-52624`](https://youtrack.jetbrains.com/issue/KT-52624) Compatibility with Gradle 7.3 release - [`KT-54703`](https://youtrack.jetbrains.com/issue/KT-54703) Stdlib substitution does not work with JPMS modules - [`KT-54602`](https://youtrack.jetbrains.com/issue/KT-54602) Prevent leaking Gradle Compile DSL types into compiler cli runtime - [`KT-54439`](https://youtrack.jetbrains.com/issue/KT-54439) Project failed to sync Native LaguageSettings to compiler options in afterEvaluate - [`KT-53885`](https://youtrack.jetbrains.com/issue/KT-53885) Bump minimal supported Gradle version to 6.8.3 - [`KT-53773`](https://youtrack.jetbrains.com/issue/KT-53773) Protect and system properties can contain sensitive data - [`KT-53732`](https://youtrack.jetbrains.com/issue/KT-53732) Add custom values limits for build scan reports - [`KT-52623`](https://youtrack.jetbrains.com/issue/KT-52623) Compatibility with Gradle 7.2. release - [`KT-51831`](https://youtrack.jetbrains.com/issue/KT-51831) Gradle: remove `kotlin.compiler.execution.strategy` system property - [`KT-51679`](https://youtrack.jetbrains.com/issue/KT-51679) Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods - [`KT-54335`](https://youtrack.jetbrains.com/issue/KT-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 absent - [`KT-54356`](https://youtrack.jetbrains.com/issue/KT-54356) Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file - [`KT-53617`](https://youtrack.jetbrains.com/issue/KT-53617) KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {} - [`KT-53823`](https://youtrack.jetbrains.com/issue/KT-53823) Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime() - [`KT-54142`](https://youtrack.jetbrains.com/issue/KT-54142) Increase Kotlin Gradle plugin Gradle target API to 7.5 - [`KT-50161`](https://youtrack.jetbrains.com/issue/KT-50161) Android variant filter breaks KotlinCompile cache compatibility - [`KT-54113`](https://youtrack.jetbrains.com/issue/KT-54113) LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context - [`KT-53830`](https://youtrack.jetbrains.com/issue/KT-53830) Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib - [`KT-54112`](https://youtrack.jetbrains.com/issue/KT-54112) Missing target input on KotlinNativeLink task - [`KT-45879`](https://youtrack.jetbrains.com/issue/KT-45879) Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)" - [`KT-54103`](https://youtrack.jetbrains.com/issue/KT-54103) Remove JvmTarget.JVM\_1\_6 from generated Gradle compiler type - [`KT-52959`](https://youtrack.jetbrains.com/issue/KT-52959) KMP code is breaking Gradle project isolation - [`KT-50598`](https://youtrack.jetbrains.com/issue/KT-50598) MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_PROJECTS_WARNING is only shown on first build - [`KT-53246`](https://youtrack.jetbrains.com/issue/KT-53246) Gradle: Special characters in paths of errors and warnings should be escaped - [`KT-47730`](https://youtrack.jetbrains.com/issue/KT-47730) How to avoid stdlib coming from Kotlin gradle plugin - [`KT-52209`](https://youtrack.jetbrains.com/issue/KT-52209) Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon - [`KT-41642`](https://youtrack.jetbrains.com/issue/KT-41642) "TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib - [`KT-53390`](https://youtrack.jetbrains.com/issue/KT-53390) Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation - [`KT-52984`](https://youtrack.jetbrains.com/issue/KT-52984) Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early - [`KT-38622`](https://youtrack.jetbrains.com/issue/KT-38622) Non-incremental compilation because of R.jar with Android Gradle plugin 3.6 - [`KT-38576`](https://youtrack.jetbrains.com/issue/KT-38576) AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath ##### Tools. Gradle. Cocoapods - [`KT-54314`](https://youtrack.jetbrains.com/issue/KT-54314) Cocoapods: Signing pod dependency for Xcode 14 - [`KT-54060`](https://youtrack.jetbrains.com/issue/KT-54060) Xcode 14: disable bitcode embedding for Apple frameworks - [`KT-53340`](https://youtrack.jetbrains.com/issue/KT-53340) Change default linking type for frameworks registered by cocoapods plugin - [`KT-53392`](https://youtrack.jetbrains.com/issue/KT-53392) Deprecate and delete downloading pod dependencies by direct link - [`KT-53695`](https://youtrack.jetbrains.com/issue/KT-53695) Build of macOS application fails if a framework is integrated via Cocoapods plugin ##### Tools. Gradle. JS - [`KT-53367`](https://youtrack.jetbrains.com/issue/KT-53367) KJS: Migrate cssSupport API - [`KT-45789`](https://youtrack.jetbrains.com/issue/KT-45789) KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output - [`KT-55099`](https://youtrack.jetbrains.com/issue/KT-55099) K/JS: Second declaration of JS target without compiler type report warning incorrectly - [`KT-52951`](https://youtrack.jetbrains.com/issue/KT-52951) \[KGP/JS] Browser test target registration via properties - [`KT-52950`](https://youtrack.jetbrains.com/issue/KT-52950) KJS: Report if yarn.lock was updated during built - [`KT-53374`](https://youtrack.jetbrains.com/issue/KT-53374) KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support - [`KT-53381`](https://youtrack.jetbrains.com/issue/KT-53381) Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails - [`KT-53788`](https://youtrack.jetbrains.com/issue/KT-53788) KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled - [`KT-53614`](https://youtrack.jetbrains.com/issue/KT-53614) Kotlin/JS upgrade npm dependencies ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-53396`](https://youtrack.jetbrains.com/issue/KT-53396) Support 'implementation platform()' by gradle kotlin mpp plugin for JVM target - [`KT-40489`](https://youtrack.jetbrains.com/issue/KT-40489) MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL ##### Performance Improvements - [`KT-52726`](https://youtrack.jetbrains.com/issue/KT-52726) \[MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets' ##### Fixes - [`KT-54634`](https://youtrack.jetbrains.com/issue/KT-54634) MPP: Test Failure causes: `KotlinJvmTest$Executor$execute$1 does not define failure` - [`KT-35916`](https://youtrack.jetbrains.com/issue/KT-35916) Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming - [`KT-46960`](https://youtrack.jetbrains.com/issue/KT-46960) Repeated kotlin/native external libraries in project - [`KT-27292`](https://youtrack.jetbrains.com/issue/KT-27292) MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class files - [`KT-34650`](https://youtrack.jetbrains.com/issue/KT-34650) Naming clash in MPP+Android: androidTest vs androidAndroidTest - [`KT-54387`](https://youtrack.jetbrains.com/issue/KT-54387) Remove MPP alpha stability warning - [`KT-31468`](https://youtrack.jetbrains.com/issue/KT-31468) Targets disambiguation doesn't work if a depending multiplatform module uses `withJava()` mode - [`KT-54090`](https://youtrack.jetbrains.com/issue/KT-54090) Take an Apple test device from the device list - [`KT-54301`](https://youtrack.jetbrains.com/issue/KT-54301) KotlinToolingVersionOrNull: IllegalArgumentException - [`KT-53256`](https://youtrack.jetbrains.com/issue/KT-53256) Implement K/N compiler downloading for KPM - [`KT-45412`](https://youtrack.jetbrains.com/issue/KT-45412) KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set - [`KT-49202`](https://youtrack.jetbrains.com/issue/KT-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`](https://youtrack.jetbrains.com/issue/KT-43293) Support Gradle configuration caching with Kotlin/Native - [`KT-53107`](https://youtrack.jetbrains.com/issue/KT-53107) Add arm64 support for watchOS targets (Xcode 14) ##### Fixes - [`KT-53704`](https://youtrack.jetbrains.com/issue/KT-53704) Native cinterop: eager header path calculation - [`KT-54814`](https://youtrack.jetbrains.com/issue/KT-54814) Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5 - [`KT-54627`](https://youtrack.jetbrains.com/issue/KT-54627) Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17 - [`KT-54339`](https://youtrack.jetbrains.com/issue/KT-54339) Link tasks fail if Gradle Configuration Cache is enabled - [`KT-53191`](https://youtrack.jetbrains.com/issue/KT-53191) Native cinterop sync problem with gradle - [`KT-54583`](https://youtrack.jetbrains.com/issue/KT-54583) watchosDeviceArm64 target shouldn't register test tasks - [`KT-52303`](https://youtrack.jetbrains.com/issue/KT-52303) Gradle / Native: Build tasks ignore project.buildDir - [`KT-54442`](https://youtrack.jetbrains.com/issue/KT-54442) Gradle iOS test tasks fail if a device is not selected explicitly - [`KT-54177`](https://youtrack.jetbrains.com/issue/KT-54177) Gradle: Deprecate `enableEndorsedLibs` flag - [`KT-47355`](https://youtrack.jetbrains.com/issue/KT-47355) Support macos target for FatFramework task - [`KT-53339`](https://youtrack.jetbrains.com/issue/KT-53339) MPP / CocoaPods: The static framework fails to install on a real iOS device - [`KT-31573`](https://youtrack.jetbrains.com/issue/KT-31573) Missing description for Native Gradle tasks - [`KT-53131`](https://youtrack.jetbrains.com/issue/KT-53131) Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods - [`KT-53686`](https://youtrack.jetbrains.com/issue/KT-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`](https://youtrack.jetbrains.com/issue/KT-54144) New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName - [`KT-53871`](https://youtrack.jetbrains.com/issue/KT-53871) New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor - [`KT-19804`](https://youtrack.jetbrains.com/issue/KT-19804) Relocatable IC caches ##### Tools. JPS - [`KT-45474`](https://youtrack.jetbrains.com/issue/KT-45474) False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation - [`KT-54228`](https://youtrack.jetbrains.com/issue/KT-54228) Switching abstract to sealed classes causes incremental issue - [`KT-38483`](https://youtrack.jetbrains.com/issue/KT-38483) JPS: Stopping compilation causes IDE CompilationCanceledException - [`KT-50310`](https://youtrack.jetbrains.com/issue/KT-50310) False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classes - [`KT-48813`](https://youtrack.jetbrains.com/issue/KT-48813) Move cache version to compiler - [`KTIJ-921`](https://youtrack.jetbrains.com/issue/KTIJ-921) JPS: FileNotFoundException on project build in mixed Kotlin/Scala project ##### Tools. Kapt - [`KT-54187`](https://youtrack.jetbrains.com/issue/KT-54187) JVM IR + kapt: incorrect modifier `final` is generated for nested enum in interface - [`KT-48827`](https://youtrack.jetbrains.com/issue/KT-48827) Remove 'kapt.use.worker.api' property ##### Tools. Scripts - [`KT-54355`](https://youtrack.jetbrains.com/issue/KT-54355) Scripts: Internal compiler error (languageVersion=1.9) - [`KT-53009`](https://youtrack.jetbrains.com/issue/KT-53009) Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from master ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.0.zip | 0bb9419fac9832a56a3a19cad282f8f2d6f1237d2d467dc8dfe9bd4a2a43c42e | | kotlin-native-linux-x86\_64-1.8.0.tar.gz | 1634d4fa815c5cbd5d4f67526501ab0637e99efe3b1c279bb648f60425dc9688 | | kotlin-native-macos-x86\_64-1.8.0.tar.gz | e3764714c4b3f4fe5925d1bf55cb4f79c9d63fd0110ba337a3e4729cc0236c5e | | kotlin-native-macos-aarch64-1.8.0.tar.gz | 75a49236907e0b577558a8353b4ab3221a5073ee4835fa72ec3b0448bd60aca5 | | kotlin-native-windows-x86\_64-1.8.0.zip | 3c552df79b62afb229e3e3dcef2797fd1eaae307b0903ccfd473665bb4a2238d | ### [`v1.7.22`](https://github.com/JetBrains/kotlin/releases/tag/v1.7.22): Kotlin 1.7.22 **This is a technical release.** It doesn't contain any fixes that aren't included in [Kotlin 1.7.21](https://github.com/JetBrains/kotlin/releases/tag/v1.7.21). Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs. ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.22.zip | 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83 | | kotlin-native-linux-x86\_64-1.7.22.tar.gz | dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff | | kotlin-native-macos-x86\_64-1.7.22.tar.gz | 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5 | | kotlin-native-macos-aarch64-1.7.22.tar.gz | 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e | | kotlin-native-windows-x86\_64-1.7.22.zip | 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92 | ### [`v1.7.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.7.21): Kotlin 1.7.21 ##### Changelog ##### Compiler - [`KT-54463`](https://youtrack.jetbrains.com/issue/KT-54463) Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate - [`KT-54509`](https://youtrack.jetbrains.com/issue/KT-54509) Ir Interpreter: unable to evaluate string concatenation with "this" as argument - [`KT-54004`](https://youtrack.jetbrains.com/issue/KT-54004) Builder type inference does not work correctly with variable assignment and breaks run-time - [`KT-54393`](https://youtrack.jetbrains.com/issue/KT-54393) Change in behavior from 1.7.10 to 1.7.20 for java field override. - [`KT-54615`](https://youtrack.jetbrains.com/issue/KT-54615) JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression - [`KT-54581`](https://youtrack.jetbrains.com/issue/KT-54581) JVM: "VerifyError: Bad type on operand stack" with generic inline function and `when` inside try-catch block - [`KT-53146`](https://youtrack.jetbrains.com/issue/KT-53146) JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime - [`KT-54600`](https://youtrack.jetbrains.com/issue/KT-54600) NPE on passing nullable Kotlin lambda as Java's generic SAM interface with `super` type bound - [`KT-54707`](https://youtrack.jetbrains.com/issue/KT-54707) "VerifyError: Bad type on operand stack" in inline call chain on a nullable array value - [`KT-54650`](https://youtrack.jetbrains.com/issue/KT-54650) Binary incompatible ABI change in Kotlin 1.7.20 - [`KT-54802`](https://youtrack.jetbrains.com/issue/KT-54802) "VerifyError: Bad type on operand stack" for inline functions on arrays ##### Native. Runtime. Memory - [`KT-54498`](https://youtrack.jetbrains.com/issue/KT-54498) Deprecation message of 'FreezingIsDeprecated' is not really helpful ##### Tools. Gradle. Multiplatform - [`KT-54387`](https://youtrack.jetbrains.com/issue/KT-54387) Remove MPP alpha stability warning - [`KT-48436`](https://youtrack.jetbrains.com/issue/KT-48436) False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation" ##### Tools. JPS - [`KT-45474`](https://youtrack.jetbrains.com/issue/KT-45474) False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.21.zip | 8412b31b808755f0c0d336dbb8c8443fa239bf32ddb3cdb81b305b25f0ad279e | | kotlin-native-linux-x86\_64-1.7.21.tar.gz | 0f9eb04a5ee0665a195c1f1093c778f5696216660feb638b29f923f586093dd0 | | kotlin-native-macos-x86\_64-1.7.21.tar.gz | 9530cadcf05cfd6111ef35725115009283b1a0292427261b78d43853c35ccd44 | | kotlin-native-macos-aarch64-1.7.21.tar.gz | f75e1a68e193b0cd9df56f15166fb4e721641b408065531b620cf204d78922e5 | | kotlin-native-windows-x86\_64-1.7.21.zip | 5e76301f6c386ea83dc668e171887244908c18da636f7237d5371b56d8fec8da | ### [`v1.7.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.7.20): Kotlin 1.7.20 ##### 1.7.20 ##### Analysis API - [`KT-52667`](https://youtrack.jetbrains.com/issue/KT-52667) FIR IDE: fun interfaces (SAM interfaces) are not properly resolved - [`KT-52136`](https://youtrack.jetbrains.com/issue/KT-52136) FIR: Implicit type declaration from the other module cannot be used for overloading ##### Analysis API. FE1.0 - [`KT-51962`](https://youtrack.jetbrains.com/issue/KT-51962) Analysis API: Finish Analysis API for FE1.0 ##### Analysis API. FIR - [`KT-52779`](https://youtrack.jetbrains.com/issue/KT-52779) FIR IDE: Import Optimizer cannot handle generic type qualifiers - [`KT-50236`](https://youtrack.jetbrains.com/issue/KT-50236) Fix OOB modification trackers for non-Kotlin code - [`KT-51240`](https://youtrack.jetbrains.com/issue/KT-51240) Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module. - [`KT-50868`](https://youtrack.jetbrains.com/issue/KT-50868) Analysis API: decompiled type aliases are not resolved ##### Compiler - [`KT-53739`](https://youtrack.jetbrains.com/issue/KT-53739) Builder inference, extension hides members - [`KT-53733`](https://youtrack.jetbrains.com/issue/KT-53733) Kotlin/Native: update source documentation for the new default memory manager - [`KT-53667`](https://youtrack.jetbrains.com/issue/KT-53667) Compiler crashes on attempt to alloc a string on the stack in new MM - [`KT-53480`](https://youtrack.jetbrains.com/issue/KT-53480) Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string - [`KT-52843`](https://youtrack.jetbrains.com/issue/KT-52843) Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long - [`KT-53475`](https://youtrack.jetbrains.com/issue/KT-53475) Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element" ##### New Features - [`KT-52495`](https://youtrack.jetbrains.com/issue/KT-52495) Support until operator in back-ends - [`KT-52420`](https://youtrack.jetbrains.com/issue/KT-52420) Implement resolve of until operator - [`KT-52419`](https://youtrack.jetbrains.com/issue/KT-52419) Implement until operator in the parser - [`KT-33755`](https://youtrack.jetbrains.com/issue/KT-33755) Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework - [`KT-51665`](https://youtrack.jetbrains.com/issue/KT-51665) FIR: implement label resolve for "typed this" case - [`KT-52361`](https://youtrack.jetbrains.com/issue/KT-52361) Report warning on potentially empty intersection types ##### Performance Improvements - [`KT-47816`](https://youtrack.jetbrains.com/issue/KT-47816) Disable script discovery for non-script environments - [`KT-48635`](https://youtrack.jetbrains.com/issue/KT-48635) JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes - [`KT-23397`](https://youtrack.jetbrains.com/issue/KT-23397) Optimize out field for property delegate when it's safe (JVM) ##### Fixes - [`KT-53272`](https://youtrack.jetbrains.com/issue/KT-53272) Backend Internal error: Exception during IR lowering / No such value argument slot: 2 - [`KT-53124`](https://youtrack.jetbrains.com/issue/KT-53124) Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables - [`KT-51868`](https://youtrack.jetbrains.com/issue/KT-51868) JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface - [`KT-36770`](https://youtrack.jetbrains.com/issue/KT-36770) Prohibit unsafe calls with expected `@NotNull` T and given Kotlin generic parameter with nullable bound - [`KT-52974`](https://youtrack.jetbrains.com/issue/KT-52974) "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project - [`KT-53007`](https://youtrack.jetbrains.com/issue/KT-53007) JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class - [`KT-53019`](https://youtrack.jetbrains.com/issue/KT-53019) K2: cannot cast callable reference to Function1 in runtime - [`KT-53031`](https://youtrack.jetbrains.com/issue/KT-53031) K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter - [`KT-29168`](https://youtrack.jetbrains.com/issue/KT-29168) Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes - [`KT-52432`](https://youtrack.jetbrains.com/issue/KT-52432) Using the IDE compiled with K2 (useFir) throws VerifyError exception - [`KT-52327`](https://youtrack.jetbrains.com/issue/KT-52327) False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported - [`KT-49682`](https://youtrack.jetbrains.com/issue/KT-49682) Support JVM IR in KAPT stub generation - [`KT-24643`](https://youtrack.jetbrains.com/issue/KT-24643) Prohibit using a type parameter declared for an extension property inside delegate - [`KT-51972`](https://youtrack.jetbrains.com/issue/KT-51972) FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin - [`KT-52011`](https://youtrack.jetbrains.com/issue/KT-52011) \[FIR] All-open compiler plugin isn't supported - [`KT-51950`](https://youtrack.jetbrains.com/issue/KT-51950) JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation - [`KT-52540`](https://youtrack.jetbrains.com/issue/KT-52540) Native: kotlin.NotImplementedError with Arrow library - [`KT-48031`](https://youtrack.jetbrains.com/issue/KT-48031) "IllegalStateException: Type variable TypeVariable(T) should not be fixed!" - [`KT-47708`](https://youtrack.jetbrains.com/issue/KT-47708) RequiresOptIn check does not flag experimental method usage in SAM lambda expressions - [`KT-52913`](https://youtrack.jetbrains.com/issue/KT-52913) JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class - [`KT-50771`](https://youtrack.jetbrains.com/issue/KT-50771) IR partial linkage: Removed abstract callable members are not supported - [`KT-52994`](https://youtrack.jetbrains.com/issue/KT-52994) Enable generic inline classes as experimental feature - [`KT-52742`](https://youtrack.jetbrains.com/issue/KT-52742) CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values - [`KT-52743`](https://youtrack.jetbrains.com/issue/KT-52743) Non-null generic functions throws NPE when assigned to val - [`KT-52745`](https://youtrack.jetbrains.com/issue/KT-52745) Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class - [`KT-52832`](https://youtrack.jetbrains.com/issue/KT-52832) Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true - [`KT-52403`](https://youtrack.jetbrains.com/issue/KT-52403) IncompatibleClassChangeError when inlining suspend funs - [`KT-50107`](https://youtrack.jetbrains.com/issue/KT-50107) Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver - [`KT-47965`](https://youtrack.jetbrains.com/issue/KT-47965) Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call - [`KT-25787`](https://youtrack.jetbrains.com/issue/KT-25787) No error on crossinline usage of receiver parameter of functional type in an inline function - [`KT-52762`](https://youtrack.jetbrains.com/issue/KT-52762) Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name" - [`KT-52680`](https://youtrack.jetbrains.com/issue/KT-52680) K2: overload resolution ambiguity if `this` is casted in a different method - [`KT-52676`](https://youtrack.jetbrains.com/issue/KT-52676) K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java - [`KT-50293`](https://youtrack.jetbrains.com/issue/KT-50293) False positive: USELESS_CAST on stub types - [`KT-52175`](https://youtrack.jetbrains.com/issue/KT-52175) WRONG_ANNOTATION_TARGET for annotation that used inside if - [`KT-52338`](https://youtrack.jetbrains.com/issue/KT-52338) "IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field - [`KT-49507`](https://youtrack.jetbrains.com/issue/KT-49507) JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field - [`KT-44512`](https://youtrack.jetbrains.com/issue/KT-44512) FIR DFA: incorrect smartcast after null assignment inside a lambda - [`KT-49200`](https://youtrack.jetbrains.com/issue/KT-49200) FIR/FE 1.0: different behavior with multiple matching star imports - [`KT-52718`](https://youtrack.jetbrains.com/issue/KT-52718) declaringClass deprecation message mentions the wrong replacement in 1.7 - [`KT-52190`](https://youtrack.jetbrains.com/issue/KT-52190) FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap - [`KT-52197`](https://youtrack.jetbrains.com/issue/KT-52197) Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda - [`KT-52057`](https://youtrack.jetbrains.com/issue/KT-52057) Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments - [`KT-47823`](https://youtrack.jetbrains.com/issue/KT-47823) JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with `break` usage in the loop range - [`KT-51883`](https://youtrack.jetbrains.com/issue/KT-51883) Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam - [`KT-52684`](https://youtrack.jetbrains.com/issue/KT-52684) Syntax error regression on complicated combination of LT and GTEQ - [`KT-52417`](https://youtrack.jetbrains.com/issue/KT-52417) Reflection: Can't reflect on type parameters captured by SAM converted lambda - [`KT-46797`](https://youtrack.jetbrains.com/issue/KT-46797) JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern - [`KT-51464`](https://youtrack.jetbrains.com/issue/KT-51464) FIR: Unable to infer type in coroutines flow code - [`KT-52163`](https://youtrack.jetbrains.com/issue/KT-52163) JVM IR: Double.compareTo(Int) compiled to integer comparison - [`KT-41980`](https://youtrack.jetbrains.com/issue/KT-41980) FIR: erroneous scope during annotation resolve - [`KT-47159`](https://youtrack.jetbrains.com/issue/KT-47159) `KtPsiUtils.areParenthesesUseless()` is returning a false positive on expressions for interface delegation - [`KT-51418`](https://youtrack.jetbrains.com/issue/KT-51418) Substitute anonymous type's supertypes - [`KT-35544`](https://youtrack.jetbrains.com/issue/KT-35544) kotlin.TypeCastException has no message on Native - [`KT-52386`](https://youtrack.jetbrains.com/issue/KT-52386) StackOverflowError during Kotlin/Native gradle build - [`KT-52592`](https://youtrack.jetbrains.com/issue/KT-52592) NPE from KProperty.getExtensionDelegate on property delegated to another property - [`KT-52551`](https://youtrack.jetbrains.com/issue/KT-52551) Delegating to object property reference does not invoke object's initializer - [`KT-51704`](https://youtrack.jetbrains.com/issue/KT-51704) Contracts: "AssertionError: Arguments and parameters size mismatch" with companion object - [`KT-25527`](https://youtrack.jetbrains.com/issue/KT-25527) False positive UNUSED_VALUE for delegated property/variable - [`KT-51002`](https://youtrack.jetbrains.com/issue/KT-51002) \[FIR] Hidden declaration hides visible one - [`KT-51008`](https://youtrack.jetbrains.com/issue/KT-51008) \[FIR] Star import does not work for nested calssifiers of java class - [`KT-52407`](https://youtrack.jetbrains.com/issue/KT-52407) FIR: Star import has lower priority than built-in import - [`KT-52431`](https://youtrack.jetbrains.com/issue/KT-52431) Reported error instead of warning due to empty intersection type found - [`KT-49394`](https://youtrack.jetbrains.com/issue/KT-49394) Bad message and suggestion: The feature "unit conversion" is disabled - [`KT-51168`](https://youtrack.jetbrains.com/issue/KT-51168) FIR: Inference error with Java interop and captured types - [`KT-49961`](https://youtrack.jetbrains.com/issue/KT-49961) "AssertionError: Left expression was not processed: BINARY_EXPRESSION" when analyzing dangling \[bracketed] expression inside elvis - [`KT-50108`](https://youtrack.jetbrains.com/issue/KT-50108) Difference in fun interface conversion behavior for uninitialized not-null function values - [`KT-51889`](https://youtrack.jetbrains.com/issue/KT-51889) Calls to super-classes constructors with context receivers fail on runtime - [`KT-51228`](https://youtrack.jetbrains.com/issue/KT-51228) \[FIR] Unresolved reference on callable reference on implicit `this` with smartcast - [`KT-52364`](https://youtrack.jetbrains.com/issue/KT-52364) False positive for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION - [`KT-52237`](https://youtrack.jetbrains.com/issue/KT-52237) JVM / IR: "IllegalArgumentException: No argument for parameter VALUE_PARAMETER CONTINUATION_CLASS" when implementing Map interface on class with suspending functions - [`KT-50832`](https://youtrack.jetbrains.com/issue/KT-50832) Method references to suspend inline functions are processed incorrectly - [`KT-52194`](https://youtrack.jetbrains.com/issue/KT-52194) False positive "Class 'my.packge.MyClass' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler" but builds fine - [`KT-47203`](https://youtrack.jetbrains.com/issue/KT-47203) JVM Debugger: Parameter value doesn't change for tailrec function - [`KT-52131`](https://youtrack.jetbrains.com/issue/KT-52131) False positive variable unused warning when calling inline function in finally block - [`KT-51738`](https://youtrack.jetbrains.com/issue/KT-51738) Debugger: stepping over in inline function with multiple inline lambda invocations is incorrect - [`KT-52198`](https://youtrack.jetbrains.com/issue/KT-52198) Losing reference to the value of an outer variable (Ref$ObjectRef) when using suspend inline with suspendCancellableCoroutine - [`KT-50994`](https://youtrack.jetbrains.com/issue/KT-50994) FIR: AssertionError during inference of delegated properties with implicit types - [`KT-51757`](https://youtrack.jetbrains.com/issue/KT-51757) FIR does not see various JS/Native specific declarations in common modules - [`KT-51201`](https://youtrack.jetbrains.com/issue/KT-51201) FIR: ARGUMENT_TYPE_MISMATCH diagnostic contains generic parameter instead of the actual type - [`KT-48444`](https://youtrack.jetbrains.com/issue/KT-48444) FIR: type argument rejected for annotation - [`KT-51754`](https://youtrack.jetbrains.com/issue/KT-51754) JVM: Local variable table invalid for do-while with continue - [`KT-51936`](https://youtrack.jetbrains.com/issue/KT-51936) Breakpoint not hit on last line of suspend function on Android - [`KT-27333`](https://youtrack.jetbrains.com/issue/KT-27333) Forbid `@Synchronized` annotation on suspend functions - [`KT-51530`](https://youtrack.jetbrains.com/issue/KT-51530) "StackOverflowError: CoroutineTransformerMethodVisitor.spillVariables" with data class in Flow - [`KT-51460`](https://youtrack.jetbrains.com/issue/KT-51460) FIR: Protected property inaccessible from inner class - [`KT-53947`](https://youtrack.jetbrains.com/issue/KT-53947) IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER - [`KT-51234`](https://youtrack.jetbrains.com/issue/KT-51234) Context receivers can be duplicated in function declaration - [`KT-51576`](https://youtrack.jetbrains.com/issue/KT-51576) Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@&#8203;'" with `at` character - [`KT-49479`](https://youtrack.jetbrains.com/issue/KT-49479) JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls - [`KT-52270`](https://youtrack.jetbrains.com/issue/KT-52270) NullPointerException caused by braces on if-else returning a method reference inside lambda - [`KT-47621`](https://youtrack.jetbrains.com/issue/KT-47621) False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter - [`KT-37796`](https://youtrack.jetbrains.com/issue/KT-37796) NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself - [`KT-45430`](https://youtrack.jetbrains.com/issue/KT-45430) PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context - [`KT-52691`](https://youtrack.jetbrains.com/issue/KT-52691) K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces - [`KT-52822`](https://youtrack.jetbrains.com/issue/KT-52822) Fix contract for KtElement.getReference() - [`KT-50223`](https://youtrack.jetbrains.com/issue/KT-50223) IndexOutOfBoundsException from `ClassicTypeSystemContext$DefaultImpls.getParameter` during call resolution - [`KT-51963`](https://youtrack.jetbrains.com/issue/KT-51963) Change Maven version to 1.7.255 - [`KT-47664`](https://youtrack.jetbrains.com/issue/KT-47664) Incorrect type checking in the case of generic types - [`KT-48765`](https://youtrack.jetbrains.com/issue/KT-48765) NI: Inferred type does not respect the bound of type variable - [`KT-51243`](https://youtrack.jetbrains.com/issue/KT-51243) False positive error "No required context receiver" inside contextual lambda - [`KT-43541`](https://youtrack.jetbrains.com/issue/KT-43541) TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast - [`KT-51016`](https://youtrack.jetbrains.com/issue/KT-51016) \[FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes - [`KT-50155`](https://youtrack.jetbrains.com/issue/KT-50155) FIR: support contextual receivers - [`KT-38637`](https://youtrack.jetbrains.com/issue/KT-38637) Catch NoSuchFieldException in optimized when expression over enum ##### Docs & Examples - [`KT-49896`](https://youtrack.jetbrains.com/issue/KT-49896) Kotlin/JS: improve `-Xir-property-lazy-initialization` description due to making it true by default ##### IDE - [`KTIJ-22286`](https://youtrack.jetbrains.com/issue/KTIJ-22286) Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version - [`KTIJ-22065`](https://youtrack.jetbrains.com/issue/KTIJ-22065) IDE notification motivating Kotlin users to use EAP - [`KTIJ-22209`](https://youtrack.jetbrains.com/issue/KTIJ-22209) Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10) - [`KTIJ-22171`](https://youtrack.jetbrains.com/issue/KTIJ-22171) Fix test BuiltInDecompilerConsistencyTest - [`KTIJ-22016`](https://youtrack.jetbrains.com/issue/KTIJ-22016) Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class - [`KT-52571`](https://youtrack.jetbrains.com/issue/KT-52571) MPP Tasks on import are not up-to-date after subsequent launches - [`KT-47777`](https://youtrack.jetbrains.com/issue/KT-47777) ISE thrown from KtLightClassForFacadeImpl.Companion.createForFacadeNoCache has wrong message. ##### IDE. FIR - [`KT-52360`](https://youtrack.jetbrains.com/issue/KT-52360) FIR IDE: Make the fix of `isInheritor` method better - [`KT-51786`](https://youtrack.jetbrains.com/issue/KT-51786) FIR IDE: IllegalStateException exception in Inspections' infrastructure - [`KT-52331`](https://youtrack.jetbrains.com/issue/KT-52331) Analysis API: ArrayIndexOutOfBoundsException exception in Diagnostics' infrastructure ##### IDE. Code Style, Formatting - [`KTIJ-21346`](https://youtrack.jetbrains.com/issue/KTIJ-21346) Incorrect formatting for functions with context receivers and visibility modifiers ##### IDE. Completion - [`KTIJ-21910`](https://youtrack.jetbrains.com/issue/KTIJ-21910) FIR IDE: Fix completion tests started failing after visibility checker refinement ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-21243`](https://youtrack.jetbrains.com/issue/KTIJ-21243) ContextReceivers: "UpToDateStubIndexMismatch: PSI and index do not match" plugin exception on library with context receivers usage attempt ##### IDE. Gradle Integration - [`KT-47627`](https://youtrack.jetbrains.com/issue/KT-47627) IDE import fails with com.intellij.util.lang.PathClassLoader error for `runCommonizer` Gradle task on 212, 213 IDEAs - [`KTIJ-21638`](https://youtrack.jetbrains.com/issue/KTIJ-21638) MPP: IntelliJ can not resolve MPP references in common-code - [`KT-52216`](https://youtrack.jetbrains.com/issue/KT-52216) HMPP / KTOR: False positive "TYPE_MISMATCH" with Throwable descendant ##### IDE. Inspections and Intentions - [`KTIJ-22540`](https://youtrack.jetbrains.com/issue/KTIJ-22540) Invalid "remove unnecessary parentheses" when delegating a functional interface to a SAM in brackets ##### IDE. J2K - [`KTIJ-21665`](https://youtrack.jetbrains.com/issue/KTIJ-21665) J2K generates non compiling code when lifting `return` and one branch is broken before binary operator ##### IDE. JS - [`KTIJ-22337`](https://youtrack.jetbrains.com/issue/KTIJ-22337) Wizard: Kotlin/Js for browser: cssSupport DSL should be updated ##### IDE. K2 - [`KTIJ-21672`](https://youtrack.jetbrains.com/issue/KTIJ-21672) FIR IDE: Method reference on generic class breaks resolve - [`KTIJ-21714`](https://youtrack.jetbrains.com/issue/KTIJ-21714) FIR IDE: Inherently imported type from another module is not properly resolved ##### IDE. Script - [`KT-52525`](https://youtrack.jetbrains.com/issue/KT-52525) Update scripts handling in source roots ##### IDE. Misc - [`KTIJ-21699`](https://youtrack.jetbrains.com/issue/KTIJ-21699) Refactoring: move out parts of the plugin useful for both FE10 and K2 ##### JavaScript ##### New Features - [`KT-39423`](https://youtrack.jetbrains.com/issue/KT-39423) KJS: Optionally generate a method to handle optional parameters for function in typescript - [`KT-42282`](https://youtrack.jetbrains.com/issue/KT-42282) KJS IR: add an ability to run separate tests ##### Performance Improvements - [`KT-50270`](https://youtrack.jetbrains.com/issue/KT-50270) KJS IR: Unnecessary getter and setter calls when accessing class members ##### Fixes - [`KT-51133`](https://youtrack.jetbrains.com/issue/KT-51133) Kotlin/JS - IR: even simple lambdas generate a lot of useless boilerplate - [`KT-51123`](https://youtrack.jetbrains.com/issue/KT-51123) Provide a way to add comments to generated JS - [`KT-48493`](https://youtrack.jetbrains.com/issue/KT-48493) KJS / IR: Invalid d.ts for inner classes inside objects - [`KT-52553`](https://youtrack.jetbrains.com/issue/KT-52553) KJS / IR: diamond hierarchy with super.toString produces stack overflow in runtime - [`KT-23252`](https://youtrack.jetbrains.com/issue/KT-23252) JS: Unit materialization on declaration and assignment - [`KT-51128`](https://youtrack.jetbrains.com/issue/KT-51128) Kotlin/JS - IR generate huge count of useless blocks - [`KT-50778`](https://youtrack.jetbrains.com/issue/KT-50778) KJS/IR: Inline class has no field when building production distribution - [`KT-50157`](https://youtrack.jetbrains.com/issue/KT-50157) KSJ IR: Applying identity equality operator to Chars always returns false - [`KT-38262`](https://youtrack.jetbrains.com/issue/KT-38262) Javascript generation (and Typescript) fails on 'then', 'catch' and 'finally' (and others?) claiming they are reserved names - [`KT-51066`](https://youtrack.jetbrains.com/issue/KT-51066) KJS / IR: suspend lambda parameter of value class is undefined - [`KT-51102`](https://youtrack.jetbrains.com/issue/KT-51102) KJS/IR: Assertion failed at translateCallArguments(jsAstUtils.kt:343) - [`KT-51878`](https://youtrack.jetbrains.com/issue/KT-51878) KJS / Legacy: Unit is not materialized in an overridden method, but it should be ##### Language Design - [`KT-47986`](https://youtrack.jetbrains.com/issue/KT-47986) Implicit inferring a type variable into an upper bound in the builder inference context - [`KT-49264`](https://youtrack.jetbrains.com/issue/KT-49264) Deprecate infix function calls of functions named "suspend" with dangling function literal - [`KT-25636`](https://youtrack.jetbrains.com/issue/KT-25636) Native: Object is frozen by default problem - [`KT-49303`](https://youtrack.jetbrains.com/issue/KT-49303) Implement support for basic compile-time evaluation ##### Libraries - [`KT-52932`](https://youtrack.jetbrains.com/issue/KT-52932) Open-ended ranges in the standard library - [`KT-52910`](https://youtrack.jetbrains.com/issue/KT-52910) Provide visit extension functions for java.nio.file.Path - [`KT-48232`](https://youtrack.jetbrains.com/issue/KT-48232) Multiplatform function for computing cubic root - [`KT-52778`](https://youtrack.jetbrains.com/issue/KT-52778) The documentation for the `Duration` does not indicate any differences from the ISO-8601 - [`KT-52618`](https://youtrack.jetbrains.com/issue/KT-52618) ThreadLocalRandom is not a good source of randomness on Android before SDK 34, so don't use it for Kotlin Random ##### Native - [`KT-53346`](https://youtrack.jetbrains.com/issue/KT-53346) MPP project with kotlinx-serialization-json:1.4.0-RC is not built ##### Native. C Export - [`KT-45468`](https://youtrack.jetbrains.com/issue/KT-45468) Kotlin/Native: Bitcode verification error when trying to export a cached klib to a static or dynamic library ##### Native. C and ObjC Import - [`KT-53373`](https://youtrack.jetbrains.com/issue/KT-53373) Native: [@&#8203;ExportObjCClass](https://github.com/ExportObjCClass) doesn't work with the new memory manager - [`KT-49034`](https://youtrack.jetbrains.com/issue/KT-49034) Kotlin/Native: `cnames.structs.Foo` resolves into wrong declaration - [`KT-26478`](https://youtrack.jetbrains.com/issue/KT-26478) Objective-C object's class name is null in ClassCastException's message ##### Native. ObjC Export - [`KT-51593`](https://youtrack.jetbrains.com/issue/KT-51593) Include more information in Objective-C header documentation - [`KT-33117`](https://youtrack.jetbrains.com/issue/KT-33117) Improve customizing Info.plist in produced frameworks - [`KT-52681`](https://youtrack.jetbrains.com/issue/KT-52681) Native: `@end;` for Objective-C is generated with an unnecessary semicolon ##### Native. Platforms - [`KT-52226`](https://youtrack.jetbrains.com/issue/KT-52226) Kotlin/Native: Add support for cross-compilation of MIPS targets from macOS and Windows hosts ##### Native. Runtime - [`KT-52430`](https://youtrack.jetbrains.com/issue/KT-52430) KMM 1.6.21 framework built with Xcode13, new MM GC Can't support iOS 9.x - [`KT-53534`](https://youtrack.jetbrains.com/issue/KT-53534) Kotlin/Native: `-Xruntime-logs=gc=info` flag doesn't work with compiler caches in 1.7.20-beta ##### Native. Runtime. Memory - [`KT-52692`](https://youtrack.jetbrains.com/issue/KT-52692) Kotlin/Native: fix tests with aggressive GC - [`KT-52130`](https://youtrack.jetbrains.com/issue/KT-52130) Kotlin/Native: use Xallocator for Kotlin objects only - [`KT-51436`](https://youtrack.jetbrains.com/issue/KT-51436) Kotlin/Native: optimize mark queue ##### Reflection - [`KT-51804`](https://youtrack.jetbrains.com/issue/KT-51804) An error occurs when callBy a KFunction that contains a value class as an argument, has a default argument set, and has more than 32 arguments. ##### Tools. CLI - [`KT-52465`](https://youtrack.jetbrains.com/issue/KT-52465) CLI: IllegalStateException IrSimpleFunctionPublicSymbolImpl when source root is duplicated - [`KT-52380`](https://youtrack.jetbrains.com/issue/KT-52380) Invalid path to compiler plugins should be reported as a compiler error - [`KT-51025`](https://youtrack.jetbrains.com/issue/KT-51025) JVM CLI compiler takes class file from classpath instead of input java source file - [`KT-51846`](https://youtrack.jetbrains.com/issue/KT-51846) Setting random value to the compiler argument where number is expected should produce an error. "-Xbackend-threads=abcd" ##### Tools. Compiler Plugins - [`KT-52486`](https://youtrack.jetbrains.com/issue/KT-52486) \[K2] Looking for function/constructor whose parameters are annotated or meta annotated - [`KT-52872`](https://youtrack.jetbrains.com/issue/KT-52872) Mark supportsK2 in ComponentRegistrar.kt as JvmDefault to avoid compatibility problems - [`KT-52804`](https://youtrack.jetbrains.com/issue/KT-52804) A function obtained by Fir IrBuiltins has an incorrect package - [`KT-52468`](https://youtrack.jetbrains.com/issue/KT-52468) Rename module and jar for lombok compiler plugin ##### Tools. Gradle - [`KT-53670`](https://youtrack.jetbrains.com/issue/KT-53670) Gradle: Cyclic dependency between kotlin-gradle-plugin-idea-1.7.20-Beta and kotlin-gradle-plugin-idea-proto-1.7.20-Beta - [`KT-53615`](https://youtrack.jetbrains.com/issue/KT-53615) Gradle: Fix deprecation warnings in CleanableStoreImpl - [`KT-53118`](https://youtrack.jetbrains.com/issue/KT-53118) Fully up-to-date builds are slower with Kotlin 1.7.0 - [`KT-51923`](https://youtrack.jetbrains.com/issue/KT-51923) Improve usability of errors and warnings by being able to click on them - [`KT-53244`](https://youtrack.jetbrains.com/issue/KT-53244) Report from gradle about compiler plugins - [`KT-52839`](https://youtrack.jetbrains.com/issue/KT-52839) Warn in Gradle log why incremental compilation failed - [`KT-46019`](https://youtrack.jetbrains.com/issue/KT-46019) Compatibility with Gradle 7.1 release - [`KT-47047`](https://youtrack.jetbrains.com/issue/KT-47047) Migrate Kotlin Gradle Plugin from using Gradle conventions - [`KT-52698`](https://youtrack.jetbrains.com/issue/KT-52698) Don't add InspectClassesForMultiModuleIC task when new incremental compilation is enabled - [`KT-52867`](https://youtrack.jetbrains.com/issue/KT-52867) Provide simplified JVM toolchain configuration method - [`KT-45747`](https://youtrack.jetbrains.com/issue/KT-45747) Add basic JUnit 5 Kotlin Gradle Plugin Android tests setup - [`KT-46034`](https://youtrack.jetbrains.com/issue/KT-46034) Shadow Kotlin Gradle plugin dependencies - [`KT-28664`](https://youtrack.jetbrains.com/issue/KT-28664) Support ExtensionContainer on kotlin targets and source sets. - [`KT-19472`](https://youtrack.jetbrains.com/issue/KT-19472) Useful extensions of Gradle Kotlin DSL provided by Gradle Kotlin plugin - [`KT-34393`](https://youtrack.jetbrains.com/issue/KT-34393) Kotlin Gradle DSL: Inconsistent srcDir configuration between Java and Kotlin - [`KT-51629`](https://youtrack.jetbrains.com/issue/KT-51629) There isn't enough info about incremental compilation state in logs while running build with --info key ##### Tools. Gradle. Cocoapods - [`KT-53174`](https://youtrack.jetbrains.com/issue/KT-53174) CocoaPods: Synthetic Podfile does not specify platform - [`KT-53127`](https://youtrack.jetbrains.com/issue/KT-53127) "MaterialComponents normal armv7" in Cocoapods plugin between Kotlin 1.6.21 and 1.7.0 - [`KT-44155`](https://youtrack.jetbrains.com/issue/KT-44155) Cocoapods doesn't support pods without module map file inside - [`KT-49032`](https://youtrack.jetbrains.com/issue/KT-49032) Cocoapods cinterop: some header files are not found - [`KT-53337`](https://youtrack.jetbrains.com/issue/KT-53337) Add warning about future changing default linking type of framework provided via cocoapods plugin ##### Tools. Gradle. JS - [`KT-52637`](https://youtrack.jetbrains.com/issue/KT-52637) KJS / Gradle: Add SCSS webpack config - [`KT-51527`](https://youtrack.jetbrains.com/issue/KT-51527) Kotlin/JS: BrowserXRun causes full-screen Webpack error "Compiled with problems: asset size limit/entrypoint size limit" for fresh Kotlin-React project from wizard - [`KT-51532`](https://youtrack.jetbrains.com/issue/KT-51532) Kotlin/JS: passing environment variable via Gradle script causes "Execution optimizations have been disabled" warnings - [`KT-52221`](https://youtrack.jetbrains.com/issue/KT-52221) Kotlin/JS: failed Node tests are not reported in a standard way ##### Tools. Gradle. Multiplatform - [`KT-52243`](https://youtrack.jetbrains.com/issue/KT-52243) CInteropProcess is not cacheable despite the annotation - [`KT-52741`](https://youtrack.jetbrains.com/issue/KT-52741) MPP: klib outputs are not reproducible - [`KT-52208`](https://youtrack.jetbrains.com/issue/KT-52208) MPP: Gradle plugin 1.7 doesn't support latest api versions (1.8, 1.9) - [`KT-54071`](https://youtrack.jetbrains.com/issue/KT-54071) MPP/AGP compatibility: Bump maxSupportedVersion to 7.3.0 ##### Tools. Gradle. Native - [`KT-52632`](https://youtrack.jetbrains.com/issue/KT-52632) Gradle / Native: commonizeNativeDistributionTask can never be up-to-date - [`KT-52328`](https://youtrack.jetbrains.com/issue/KT-52328) "ld: framework not found SQLCipher" linkDebugTestIosSimulatorArm64 error ##### Tools. Incremental Compile - [`KT-53168`](https://youtrack.jetbrains.com/issue/KT-53168) Incremental compilation doesn't perform correctly after a few iterations - [`KT-52925`](https://youtrack.jetbrains.com/issue/KT-52925) \[IR BE] Non incremental build occurs after build failure for compileKotlinJs task - [`KT-52946`](https://youtrack.jetbrains.com/issue/KT-52946) CompileKotlinJs task is executed non-incrementally if there were changes made to the dependant module - [`KT-52329`](https://youtrack.jetbrains.com/issue/KT-52329) Reduce memory usage of classpath snapshot cache - [`KT-53266`](https://youtrack.jetbrains.com/issue/KT-53266) Increment Compilation: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing companion object constant field - [`KT-53231`](https://youtrack.jetbrains.com/issue/KT-53231) New IC reports build failures for missing classpath snapshots ##### Tools. JPS - [`KT-47824`](https://youtrack.jetbrains.com/issue/KT-47824) 'when expression must be exhaustive' isn't thrown during incremental compilation - [`KT-51873`](https://youtrack.jetbrains.com/issue/KT-51873) JPS build is incorrect after gdw build - [`KTIJ-17072`](https://youtrack.jetbrains.com/issue/KTIJ-17072) JPS does not rebuild Kotlin usages of declared in Java when enum entry is added - [`KT-51537`](https://youtrack.jetbrains.com/issue/KT-51537) Rebuild module on plugin classpaths change ##### Tools. REPL - [`KT-45065`](https://youtrack.jetbrains.com/issue/KT-45065) REPL: Incorrect output for unsigned value - [`KT-53043`](https://youtrack.jetbrains.com/issue/KT-53043) Scripting: Changes in REPL protocol: mark end of errors ##### Tools. Scripts - [`KT-52598`](https://youtrack.jetbrains.com/issue/KT-52598) Scripts and REPL snippets are not checked against using 'kotlin' package - [`KT-47187`](https://youtrack.jetbrains.com/issue/KT-47187) Kotlin ScriptEngine Failes to Compile a Trivial Statement After Failing to Compile a Broken One - [`KT-47191`](https://youtrack.jetbrains.com/issue/KT-47191) \[Kotlin Script Engine] Compiling Without Evaluating Leaves Engine in a Bad State ##### Tools. Kapt - [`KT-52761`](https://youtrack.jetbrains.com/issue/KT-52761) Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.20.zip | 5e3c8d0f965410ff12e90d6f8dc5df2fc09fd595a684d514616851ce7e94ae7d | | kotlin-native-linux-x86\_64-1.7.20.tar.gz | 65ac0a71fbff016d4387956768a49b668e6cda316e96adb116de5cf1169f5627 | | kotlin-native-macos-x86\_64-1.7.20.tar.gz | 449d68b055ea5b45106d1cbc925bc43d7e1a9ab9d6b1cdd16722fa569b8fd8b1 | | kotlin-native-macos-aarch64-1.7.20.tar.gz | 221aa20718cf81897ba682479da838e44f221424f3a867f7871fff231b50a799 | | kotlin-native-windows-x86\_64-1.7.20.zip | b84bea3f8c62ec2f614e7d282335c5df891a654a843d30a9a55ebe29c68ea044 | ### [`v1.7.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.7.10): Kotlin 1.7.10 ##### Changelog ##### Compiler - [`KT-52702`](https://youtrack.jetbrains.com/issue/KT-52702) Invalid locals information when compiling `kotlinx.collections.immutable` with Kotlin 1.7.0-RC2 - [`KT-52892`](https://youtrack.jetbrains.com/issue/KT-52892) Disappeared specific builder inference resolution ambiguity errors - [`KT-52782`](https://youtrack.jetbrains.com/issue/KT-52782) Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature - [`KT-52718`](https://youtrack.jetbrains.com/issue/KT-52718) declaringClass deprecation message mentions the wrong replacement in 1.7 ##### IDE. Configuration - [`KTIJ-21982`](https://youtrack.jetbrains.com/issue/KTIJ-21982) Cannot run/build anything with Kotlin plugin since last update ##### Tools. Gradle - [`KT-52777`](https://youtrack.jetbrains.com/issue/KT-52777) 'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes ##### Tools. Gradle. JS - [`KT-52856`](https://youtrack.jetbrains.com/issue/KT-52856) Kotlin/JS: Upgrade NPM dependencies ##### Tools. Gradle. Multiplatform - [`KT-52955`](https://youtrack.jetbrains.com/issue/KT-52955) SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders - [`KT-52694`](https://youtrack.jetbrains.com/issue/KT-52694) Kotlin 1.7.0 breaks Configuration Caching in Android projects ##### Tools. Incremental Compile - [`KT-52669`](https://youtrack.jetbrains.com/issue/KT-52669) Full rebuild in IC exception recovery leaves corrupt IC data ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.10.zip | 7683f5451ef308eb773a686ee7779a76a95ed8b143c69ac247937619d7ca3a09 | | kotlin-native-linux-x86\_64-1.7.10.tar.gz | b874373e87381b94c6a385178ea9594a5b4cfeb2fbae2bd89d3cb84c96bc3b96 | | kotlin-native-macos-x86\_64-1.7.10.tar.gz | 4e9470c25e0c6b3b79e86a59c7eca4d79c5a28ca515e80db93504535b2332a00 | | kotlin-native-macos-aarch64-1.7.10.tar.gz | c02be577f541a5c73e1af75534006eea6e09cf67b3a886f323dae6f0406bcb3e | | kotlin-native-windows-x86\_64-1.7.10.zip | 52c64c754a23da3d554d89beb9cdc322ffcb19b8d6f1e812e849e597d282b99d | ### [`v1.7.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.7.0): Kotlin 1.7.0 ##### Changelog ##### Analysis API. FIR - [`KT-50864`](https://youtrack.jetbrains.com/issue/KT-50864) Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target - [`KT-50252`](https://youtrack.jetbrains.com/issue/KT-50252) Analysis API: Implement FirModuleResolveStates for libraries - [`KT-50862`](https://youtrack.jetbrains.com/issue/KT-50862) Analsysis API: do not create use site subsitution override symbols ##### Analysis API. FIR Low Level API - [`KT-50729`](https://youtrack.jetbrains.com/issue/KT-50729) Type bound is not fully resolved - [`KT-50728`](https://youtrack.jetbrains.com/issue/KT-50728) Lazy resolve of extension function from 'kotlin' package breaks over unresolved type - [`KT-50271`](https://youtrack.jetbrains.com/issue/KT-50271) Analysis API: get rid of using FirRefWithValidityCheck ##### Backend. Native. Debug - [`KT-50558`](https://youtrack.jetbrains.com/issue/KT-50558) K/N Debugger. Error is not displayed in variables view for catch block ##### Compiler ##### New Features - [`KT-26245`](https://youtrack.jetbrains.com/issue/KT-26245) Add ability to specify generic type parameters as not-null - [`KT-45165`](https://youtrack.jetbrains.com/issue/KT-45165) Remove JVM target version 1.6 - [`KT-27435`](https://youtrack.jetbrains.com/issue/KT-27435) Allow implementation by delegation to inlined value of inline class - [`KT-47939`](https://youtrack.jetbrains.com/issue/KT-47939) Support method references to functional interface constructors - [`KT-50775`](https://youtrack.jetbrains.com/issue/KT-50775) Support IR partial linkage in Kotlin/Native (disabled by default) - [`KT-51737`](https://youtrack.jetbrains.com/issue/KT-51737) Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets - [`KT-44249`](https://youtrack.jetbrains.com/issue/KT-44249) NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order function ##### Performance Improvements - [`KT-48233`](https://youtrack.jetbrains.com/issue/KT-48233) Switching to JVM IR backend increases compilation time by more than 15% - [`KT-51699`](https://youtrack.jetbrains.com/issue/KT-51699) Kotlin/Native: runtime has no LTO in debug binaries - [`KT-34466`](https://youtrack.jetbrains.com/issue/KT-34466) Use optimized switch over enum only when all entries are constant enum entry expressions - [`KT-50861`](https://youtrack.jetbrains.com/issue/KT-50861) FIR: Combination of array set convention and plusAssign works exponentially - [`KT-47171`](https://youtrack.jetbrains.com/issue/KT-47171) For loop doesn't avoid boxing with value class iterators (JVM) - [`KT-29199`](https://youtrack.jetbrains.com/issue/KT-29199) 'next' calls for iterators of merged primitive progressive values are not specialized - [`KT-50585`](https://youtrack.jetbrains.com/issue/KT-50585) JVM IR: Array constructor loop should use IINC - [`KT-22429`](https://youtrack.jetbrains.com/issue/KT-22429) Optimize 'for' loop code generation for reversed arrays - [`KT-50074`](https://youtrack.jetbrains.com/issue/KT-50074) Performance regression in String-based 'when' with single equality clause - [`KT-22334`](https://youtrack.jetbrains.com/issue/KT-22334) Compiler backend could generate smaller code for loops using range such as integer..array.size -1 - [`KT-35272`](https://youtrack.jetbrains.com/issue/KT-35272) Unnecessary null check on unsafe cast after not-null assertion operator - [`KT-27427`](https://youtrack.jetbrains.com/issue/KT-27427) Optimize nullable check introduced with 'as' cast ##### Fixes - [`KT-46762`](https://youtrack.jetbrains.com/issue/KT-46762) Finalize support for jspecify - [`KT-51499`](https://youtrack.jetbrains.com/issue/KT-51499) `@file:OptIn` doesn't cover override methods - [`KT-52037`](https://youtrack.jetbrains.com/issue/KT-52037) FIR: add error in 1.7.0 branch if run with non-compatible plugins - [`KT-46756`](https://youtrack.jetbrains.com/issue/KT-46756) Release the K2/JVM compiler in Alpha - [`KT-49715`](https://youtrack.jetbrains.com/issue/KT-49715) IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interface - [`KT-45508`](https://youtrack.jetbrains.com/issue/KT-45508) False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member - [`KT-28078`](https://youtrack.jetbrains.com/issue/KT-28078) Report error "Public property exposes its private type" for primary constructor properties instead of warning - [`KT-49017`](https://youtrack.jetbrains.com/issue/KT-49017) Forbid usages of super or super<Some> if in fact it accesses an abstract member - [`KT-38078`](https://youtrack.jetbrains.com/issue/KT-38078) Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclass - [`KT-52363`](https://youtrack.jetbrains.com/issue/KT-52363) Evaluate impact of qualified `this` behavior change warnings - [`KT-52561`](https://youtrack.jetbrains.com/issue/KT-52561) JVM: Coroutine state machine loses value after a check-induced smart cast - [`KT-52311`](https://youtrack.jetbrains.com/issue/KT-52311) java.lang.VerifyError: Bad type on operand stack - [`KT-41124`](https://youtrack.jetbrains.com/issue/KT-41124) Inconsistency of exceptions at init block for an enum entry with and without a qualifier name - [`KT-46860`](https://youtrack.jetbrains.com/issue/KT-46860) Make safe calls always nullable - [`KT-52503`](https://youtrack.jetbrains.com/issue/KT-52503) New green code appeared at the callable reference resolution - [`KT-51925`](https://youtrack.jetbrains.com/issue/KT-51925) Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null\[0] is unbound" caused by inline function - [`KT-49317`](https://youtrack.jetbrains.com/issue/KT-49317) "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter - [`KT-51844`](https://youtrack.jetbrains.com/issue/KT-51844) New errors in overload resolution involving vararg extension methods - [`KT-52006`](https://youtrack.jetbrains.com/issue/KT-52006) "java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin project - [`KT-51223`](https://youtrack.jetbrains.com/issue/KT-51223) Report warning about conflicting inherited members from deserialized dependencies - [`KT-51439`](https://youtrack.jetbrains.com/issue/KT-51439) FE 1.0: implement type variance conflict deprecation on qualifier type arguments - [`KT-51433`](https://youtrack.jetbrains.com/issue/KT-51433) FE 1.0: implement warnings about label resolve changes - [`KT-51317`](https://youtrack.jetbrains.com/issue/KT-51317) Regression in resolution of lambdas where expected type has an extension receiver parameter - [`KT-45935`](https://youtrack.jetbrains.com/issue/KT-45935) JVM IR: Add not-null assertion for explicit definitely not-null parameters - [`KT-51818`](https://youtrack.jetbrains.com/issue/KT-51818) "ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines - [`KT-51718`](https://youtrack.jetbrains.com/issue/KT-51718) JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function - [`KT-51927`](https://youtrack.jetbrains.com/issue/KT-51927) Native: `The symbol of unexpected type encountered during IR deserialization` error when multiple libraries have non-conflicting declarations with the same name - [`KT-52394`](https://youtrack.jetbrains.com/issue/KT-52394) JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-Beta - [`KT-51640`](https://youtrack.jetbrains.com/issue/KT-51640) FIR: remove warning about "far from being production ready" - [`KT-45553`](https://youtrack.jetbrains.com/issue/KT-45553) FIR: support hiding declaration from star import by as import - [`KT-52404`](https://youtrack.jetbrains.com/issue/KT-52404) Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java - [`KT-50734`](https://youtrack.jetbrains.com/issue/KT-50734) TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warning - [`KT-51235`](https://youtrack.jetbrains.com/issue/KT-51235) JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing? - [`KT-48935`](https://youtrack.jetbrains.com/issue/KT-48935) NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function type - [`KT-49661`](https://youtrack.jetbrains.com/issue/KT-49661) NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return type - [`KT-50877`](https://youtrack.jetbrains.com/issue/KT-50877) Inconsistent flexible type - [`KT-51988`](https://youtrack.jetbrains.com/issue/KT-51988) "NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using `@BuilderInference` with multiple type arguments - [`KT-48890`](https://youtrack.jetbrains.com/issue/KT-48890) Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations." - [`KT-52035`](https://youtrack.jetbrains.com/issue/KT-52035) FIR: add error in 1.7.0 branch if run on JS / Native configuration - [`KT-45461`](https://youtrack.jetbrains.com/issue/KT-45461) NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraints - [`KT-52146`](https://youtrack.jetbrains.com/issue/KT-52146) JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection - [`KT-50730`](https://youtrack.jetbrains.com/issue/KT-50730) Implement error for a super class constructor call on a function interface in supertypes list - [`KT-52040`](https://youtrack.jetbrains.com/issue/KT-52040) JVM: ClassFormatError Illegal method name "expectFailure$<init>\__proxy-0" - [`KT-50845`](https://youtrack.jetbrains.com/issue/KT-50845) Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases - [`KT-51979`](https://youtrack.jetbrains.com/issue/KT-51979) "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override - [`KT-51759`](https://youtrack.jetbrains.com/issue/KT-51759) FIR DFA: false positive "Variable must be initialized" - [`KT-50378`](https://youtrack.jetbrains.com/issue/KT-50378) Unresolved reference for method in Jsoup library in a kts script file - [`KT-34919`](https://youtrack.jetbrains.com/issue/KT-34919) "Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class - [`KT-51893`](https://youtrack.jetbrains.com/issue/KT-51893) Duplicated \[OVERRIDE_DEPRECATION] on overridden properties - [`KT-41034`](https://youtrack.jetbrains.com/issue/KT-41034) K2: Change evaluation semantics for combination of safe calls and convention operators - [`KT-51843`](https://youtrack.jetbrains.com/issue/KT-51843) Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags - [`KT-51914`](https://youtrack.jetbrains.com/issue/KT-51914) False positive RETURN_TYPE_MISMATCH in intellij ultimate - [`KT-51711`](https://youtrack.jetbrains.com/issue/KT-51711) Compiler warning is displayed in case there is 'if' else branch used with elvis - [`KT-33517`](https://youtrack.jetbrains.com/issue/KT-33517) Kotlin ScriptEngine does not respect async code when using bindings - [`KT-51850`](https://youtrack.jetbrains.com/issue/KT-51850) FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlin - [`KT-44705`](https://youtrack.jetbrains.com/issue/KT-44705) Deprecate using non-exhaustive if's and when's in rhs of elvis - [`KT-44510`](https://youtrack.jetbrains.com/issue/KT-44510) FIR DFA: smartcast after elvis with escaping lambda - [`KT-44879`](https://youtrack.jetbrains.com/issue/KT-44879) FIR DFA: Track `inc` and `dec` operator calls in preliminary loop visitor - [`KT-51758`](https://youtrack.jetbrains.com/issue/KT-51758) FIR: explicit API mode errors should not be reported for effectively internal / private entities - [`KT-51203`](https://youtrack.jetbrains.com/issue/KT-51203) FIR: Inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties - [`KT-51624`](https://youtrack.jetbrains.com/issue/KT-51624) FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved types - [`KT-51204`](https://youtrack.jetbrains.com/issue/KT-51204) FIR IC: Incremental compilation fails on nested crossinline - [`KT-51798`](https://youtrack.jetbrains.com/issue/KT-51798) Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signature - [`KT-46187`](https://youtrack.jetbrains.com/issue/KT-46187) FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plus - [`KT-51761`](https://youtrack.jetbrains.com/issue/KT-51761) Incorrect NONE_APPLICABLE in expect class - [`KT-51756`](https://youtrack.jetbrains.com/issue/KT-51756) FIR: false positive NO_VALUE_FOR_PARAMETER in expect class delegated constructor call - [`KT-49778`](https://youtrack.jetbrains.com/issue/KT-49778) Support cast to DefinitelyNotNull type in Native - [`KT-51441`](https://youtrack.jetbrains.com/issue/KT-51441) -Xpartial-linkage option specified in Gradle build script is not passed to Native linker - [`KT-34515`](https://youtrack.jetbrains.com/issue/KT-34515) NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to brackets - [`KT-48546`](https://youtrack.jetbrains.com/issue/KT-48546) PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy block - [`KT-28109`](https://youtrack.jetbrains.com/issue/KT-28109) "AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operator - [`KT-46136`](https://youtrack.jetbrains.com/issue/KT-46136) Unsubstituted return type inferred for a function returning anonymous object upcast to supertype - [`KT-51364`](https://youtrack.jetbrains.com/issue/KT-51364) FIR: ambiguity due to String constructors clash - [`KT-51621`](https://youtrack.jetbrains.com/issue/KT-51621) FIR: visible VS invisible qualifier conflict - [`KT-50468`](https://youtrack.jetbrains.com/issue/KT-50468) FIR compilers fails with CCE when meets top-level destruction - [`KT-51557`](https://youtrack.jetbrains.com/issue/KT-51557) Inline stack frame is not shown for default inline lambda - [`KT-51358`](https://youtrack.jetbrains.com/issue/KT-51358) OptIn: show default warning/error message in case of empty message argument - [`KT-44152`](https://youtrack.jetbrains.com/issue/KT-44152) FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binaries - [`KT-50949`](https://youtrack.jetbrains.com/issue/KT-50949) PSI2IR: NSEE from `ArgumentsGenerationUtilsKt.createFunctionForSuspendConversion` with providing lambda as argument with suspend type - [`KT-39256`](https://youtrack.jetbrains.com/issue/KT-39256) ArrayStoreException with list of anonymous objects with inferred types created in reified extension function - [`KT-39883`](https://youtrack.jetbrains.com/issue/KT-39883) Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loops - [`KT-36952`](https://youtrack.jetbrains.com/issue/KT-36952) Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check) - [`KT-51233`](https://youtrack.jetbrains.com/issue/KT-51233) AssertionError in JavaLikeCounterLoopBuilder with Compose - [`KT-51254`](https://youtrack.jetbrains.com/issue/KT-51254) Verify Error on passing null to type parameter extending inline class - [`KT-50996`](https://youtrack.jetbrains.com/issue/KT-50996) \[FIR] Support Int -> Long conversion for property initializers - [`KT-51000`](https://youtrack.jetbrains.com/issue/KT-51000) \[FIR] Support Int -> Long? conversion - [`KT-51003`](https://youtrack.jetbrains.com/issue/KT-51003) \[FIR] Consider Int -> Long conversion if expected type is type variable - [`KT-51018`](https://youtrack.jetbrains.com/issue/KT-51018) \[FIR] Wrong type inference if one of constraints is integer literal - [`KT-51446`](https://youtrack.jetbrains.com/issue/KT-51446) Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabled - [`KT-50973`](https://youtrack.jetbrains.com/issue/KT-50973) Redundant line number mapping for finally block with JVM IR - [`KT-51272`](https://youtrack.jetbrains.com/issue/KT-51272) Incompatible types: KClass<Any> and callable reference Collection::class - [`KT-51274`](https://youtrack.jetbrains.com/issue/KT-51274) "Expected some types" exception on when branch for when expression of erroneous type - [`KT-51229`](https://youtrack.jetbrains.com/issue/KT-51229) FIR: private constructor of internal data class treated as internal and not private - [`KT-50750`](https://youtrack.jetbrains.com/issue/KT-50750) \[FIR] Report UNSUPPORTED on array literals not from annotation classes - [`KT-51200`](https://youtrack.jetbrains.com/issue/KT-51200) False EXPOSED_PARAMETER_TYPE for internal type parameter of internal type - [`KT-49804`](https://youtrack.jetbrains.com/issue/KT-49804) False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCH - [`KT-51121`](https://youtrack.jetbrains.com/issue/KT-51121) Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10) - [`KT-50136`](https://youtrack.jetbrains.com/issue/KT-50136) FIR: syntax error on (T & Any) - [`KT-49465`](https://youtrack.jetbrains.com/issue/KT-49465) FIR2IR: support definitely not-null types - [`KT-51357`](https://youtrack.jetbrains.com/issue/KT-51357) FIR: error in inference while using integer literal in expected Long position - [`KT-49925`](https://youtrack.jetbrains.com/issue/KT-49925) \[FIR] Incorrect builder inference (different cases) - [`KT-50542`](https://youtrack.jetbrains.com/issue/KT-50542) "IllegalStateException: Type parameter descriptor is not initialized: T declared in sort" with definitely non-null type Any & T in generic constraint - [`KT-51171`](https://youtrack.jetbrains.com/issue/KT-51171) FIR: class `Error` resolution problem - [`KT-51156`](https://youtrack.jetbrains.com/issue/KT-51156) Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constant - [`KT-51017`](https://youtrack.jetbrains.com/issue/KT-51017) \[FIR] Ambiguity on callable reference between two functions on generic receiver with different bounds - [`KT-51007`](https://youtrack.jetbrains.com/issue/KT-51007) \[FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another module - [`KT-50998`](https://youtrack.jetbrains.com/issue/KT-50998) \[FIR] Int.inv() cal does not considered as compile time call - [`KT-51009`](https://youtrack.jetbrains.com/issue/KT-51009) \[FIR] Incorrect inference of lambda in position of return - [`KT-50997`](https://youtrack.jetbrains.com/issue/KT-50997) \[FIR] Incorrect type of typealias for suspend functional type - [`KT-49714`](https://youtrack.jetbrains.com/issue/KT-49714) Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type alias - [`KT-48623`](https://youtrack.jetbrains.com/issue/KT-48623) Type nullability enhancement improvements - [`KT-44623`](https://youtrack.jetbrains.com/issue/KT-44623) "IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with something - [`KT-46000`](https://youtrack.jetbrains.com/issue/KT-46000) JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with Compose - [`KT-50211`](https://youtrack.jetbrains.com/issue/KT-50211) Annotation Instantiation with default arguments in Native - [`KT-49412`](https://youtrack.jetbrains.com/issue/KT-49412) Controversial "type argument is not within its bounds" reported by FIR - [`KT-48044`](https://youtrack.jetbrains.com/issue/KT-48044) \[FIR] Investigate behavior of `UPPER_BOUND_VIOLATED` on complex cases - [`KT-37975`](https://youtrack.jetbrains.com/issue/KT-37975) Don't show deprecation of enum class itself for its own member - [`KT-50737`](https://youtrack.jetbrains.com/issue/KT-50737) Inheritance from SuspendFunction leads to compiler crash - [`KT-50723`](https://youtrack.jetbrains.com/issue/KT-50723) Implement a fix of reporting of uninitialized parameter in default values of parameters - [`KT-50749`](https://youtrack.jetbrains.com/issue/KT-50749) Implement UNSUPPORTED reporting on array literals inside objects in annotation classes - [`KT-50753`](https://youtrack.jetbrains.com/issue/KT-50753) Implement reporting errors on cycles in annotation parameter types - [`KT-50758`](https://youtrack.jetbrains.com/issue/KT-50758) Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier name - [`KT-50182`](https://youtrack.jetbrains.com/issue/KT-50182) CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message for `const` in object expression - [`KT-50183`](https://youtrack.jetbrains.com/issue/KT-50183) Fix missing apostrophe escapes in compiler error messages - [`KT-50788`](https://youtrack.jetbrains.com/issue/KT-50788) FIR: false unsafe call on not-null generic - [`KT-50785`](https://youtrack.jetbrains.com/issue/KT-50785) FIR: inconsistent smart cast after comparison with true - [`KT-50858`](https://youtrack.jetbrains.com/issue/KT-50858) \[FIR LL] FIR in low level mode creates multiple symbols for same declaration - [`KT-50822`](https://youtrack.jetbrains.com/issue/KT-50822) Analysis API: make declaration transformers machinery to be a thread safe - [`KT-50972`](https://youtrack.jetbrains.com/issue/KT-50972) FIR doesn't report VAL_REASSIGNMENT on synthetic properties - [`KT-50969`](https://youtrack.jetbrains.com/issue/KT-50969) FIR: diamond inheritance with different parameter types depends on a supertype order - [`KT-50875`](https://youtrack.jetbrains.com/issue/KT-50875) FIR: no smart cast after reassignment with elvis - [`KT-50835`](https://youtrack.jetbrains.com/issue/KT-50835) Inline functions with suspend lambdas break the tail-call optimization - [`KT-49485`](https://youtrack.jetbrains.com/issue/KT-49485) JVM / IR: StackOverflowError with long when-expression conditions - [`KT-35684`](https://youtrack.jetbrains.com/issue/KT-35684) NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial code - [`KT-50776`](https://youtrack.jetbrains.com/issue/KT-50776) FIR: ambiguity between Sequence.forEach and Iterable.forEach - [`KT-48908`](https://youtrack.jetbrains.com/issue/KT-48908) Error for annotation on parameter type could have distinct ID and message referring 1.6 - [`KT-48907`](https://youtrack.jetbrains.com/issue/KT-48907) SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6 - [`KT-50774`](https://youtrack.jetbrains.com/issue/KT-50774) FIR2IR: NSEE in case of lambda in enum entry constructor call - [`KT-49016`](https://youtrack.jetbrains.com/issue/KT-49016) Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnostic - [`KT-34338`](https://youtrack.jetbrains.com/issue/KT-34338) Parameterless main causes duplicate JVM signature error - [`KT-50577`](https://youtrack.jetbrains.com/issue/KT-50577) JVM_IR: No NPE when casting uninitialized value of non-null type to non-null type - [`KT-50476`](https://youtrack.jetbrains.com/issue/KT-50476) JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default method - [`KT-50257`](https://youtrack.jetbrains.com/issue/KT-50257) JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayList - [`KT-50470`](https://youtrack.jetbrains.com/issue/KT-50470) FIR: inapplicable candidate in delegate inference due to nullability - [`KT-32744`](https://youtrack.jetbrains.com/issue/KT-32744) Inefficient compilation of null-safe call (extra null checks, unreachable code) ##### Docs & Examples - [`KT-52032`](https://youtrack.jetbrains.com/issue/KT-52032) Document performance optimizations of the Kotlin/JVM compiler in 1.7.0 - [`KT-49424`](https://youtrack.jetbrains.com/issue/KT-49424) Update KEEP for OptIn ##### IDE ##### Fixes - [`KTIJ-21735`](https://youtrack.jetbrains.com/issue/KTIJ-21735) Exception when opening a project - [`KTIJ-17414`](https://youtrack.jetbrains.com/issue/KTIJ-17414) UAST: Synthetic enum methods have null return values - [`KTIJ-17444`](https://youtrack.jetbrains.com/issue/KTIJ-17444) UAST: Synthetic enum methods are missing nullness annotations - [`KTIJ-19043`](https://youtrack.jetbrains.com/issue/KTIJ-19043) UElement#comments is empty for a Kotlin property with a getter - [`KTIJ-10031`](https://youtrack.jetbrains.com/issue/KTIJ-10031) IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. `@Serializable`) - [`KTIJ-21515`](https://youtrack.jetbrains.com/issue/KTIJ-21515) Load JVM target 1.6 as 1.8 in Maven projects - [`KTIJ-21151`](https://youtrack.jetbrains.com/issue/KTIJ-21151) Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides - [`KTIJ-20736`](https://youtrack.jetbrains.com/issue/KTIJ-20736) NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start - [`KT-50111`](https://youtrack.jetbrains.com/issue/KT-50111) Resolving into KtUltraLightMethod - [`KTIJ-21063`](https://youtrack.jetbrains.com/issue/KTIJ-21063) IDE highlighting: False positive error "Context receivers should be enabled explicitly" - [`KTIJ-20810`](https://youtrack.jetbrains.com/issue/KTIJ-20810) NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open - [`KTIJ-19088`](https://youtrack.jetbrains.com/issue/KTIJ-19088) KotlinUFunctionCallExpression.resolve() returns null for calls to `@JvmSynthetic` functions - [`KTIJ-17869`](https://youtrack.jetbrains.com/issue/KTIJ-17869) KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors - [`KTIJ-21061`](https://youtrack.jetbrains.com/issue/KTIJ-21061) UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type - [`KTIJ-20200`](https://youtrack.jetbrains.com/issue/KTIJ-20200) UAST: `@Deprecated(level=HIDDEN)` constructors are not returning UMethod.isConstructor=true - [`KTIJ-19624`](https://youtrack.jetbrains.com/issue/KTIJ-19624) NoDescriptorForDeclarationException on iosTest.kt.vm ##### IDE. Code Style, Formatting - [`KTIJ-20554`](https://youtrack.jetbrains.com/issue/KTIJ-20554) Introduce some code style for definitely non-null types ##### IDE. Completion - [`KTIJ-14740`](https://youtrack.jetbrains.com/issue/KTIJ-14740) Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set ##### IDE. Debugger - [`KTIJ-20815`](https://youtrack.jetbrains.com/issue/KTIJ-20815) MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError ##### IDE. Decompiler, Indexing, Stubs - [`KTIJ-21472`](https://youtrack.jetbrains.com/issue/KTIJ-21472) "java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file - [`KTIJ-20802`](https://youtrack.jetbrains.com/issue/KTIJ-20802) Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T\&Any - [`KT-51248`](https://youtrack.jetbrains.com/issue/KT-51248) Function and parameter names with special symbols have to backticked ##### IDE. FIR - [`KTIJ-20443`](https://youtrack.jetbrains.com/issue/KTIJ-20443) FIR IDE: Work in Dumb mode - [`KTIJ-21374`](https://youtrack.jetbrains.com/issue/KTIJ-21374) FIR IDE: Incorrect highlighting for operators - [`KTIJ-21013`](https://youtrack.jetbrains.com/issue/KTIJ-21013) FIR IDE: Inconsistent smartcasts highlighting - [`KTIJ-21343`](https://youtrack.jetbrains.com/issue/KTIJ-21343) FIR IDE: Navigation from explicit invoke call does not work - [`KTIJ-20852`](https://youtrack.jetbrains.com/issue/KTIJ-20852) FIR IDE: Exception when checking `isInheritor` on two classes in different modules - [`KTIJ-21021`](https://youtrack.jetbrains.com/issue/KTIJ-21021) FIR IDE: Completion of extension function does not work on nullable receiver - [`KTIJ-20637`](https://youtrack.jetbrains.com/issue/KTIJ-20637) FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt - [`KTIJ-20971`](https://youtrack.jetbrains.com/issue/KTIJ-20971) FIR IDE: "Parameter Info" shows parameters of uncallable methods ##### IDE. Gradle Integration - [`KTIJ-21807`](https://youtrack.jetbrains.com/issue/KTIJ-21807) Gradle to IDEA import: language and API version settings are not imported for Native facet - [`KTIJ-21692`](https://youtrack.jetbrains.com/issue/KTIJ-21692) Kotlin Import Test maintenance: 1.7.0-Beta - [`KTIJ-20567`](https://youtrack.jetbrains.com/issue/KTIJ-20567) Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facets ##### IDE. Hints. Inlay - [`KTIJ-20552`](https://youtrack.jetbrains.com/issue/KTIJ-20552) Support definitely non-null types in inlay hints ##### IDE. Inspections and Intentions ##### New Features - [`KTIJ-18979`](https://youtrack.jetbrains.com/issue/KTIJ-18979) Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion call - [`KTIJ-19950`](https://youtrack.jetbrains.com/issue/KTIJ-19950) Provide quickfixes for `INVALID_IF_AS_EXPRESSION_WARNING` and `NO_ELSE_IN_WHEN_WARNING` - [`KTIJ-19866`](https://youtrack.jetbrains.com/issue/KTIJ-19866) Create quick-fix for effective visibility error on private-in-file interface exposing private class - [`KTIJ-19939`](https://youtrack.jetbrains.com/issue/KTIJ-19939) Provide quickfix for deprecated confusing expressions in when branches ##### Fixes - [`KTIJ-20705`](https://youtrack.jetbrains.com/issue/KTIJ-20705) Register quickfix for `NO_CONSTRUCTOR_WARNING` diagnostic - [`KTIJ-21226`](https://youtrack.jetbrains.com/issue/KTIJ-21226) "Remove else branch" quick fix is not suggested - [`KTIJ-20981`](https://youtrack.jetbrains.com/issue/KTIJ-20981) Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is set - [`KTIJ-20953`](https://youtrack.jetbrains.com/issue/KTIJ-20953) Add quickfix for OVERRIDE_DEPRECATION warning to 1.7 - 1.9 migration - [`KTIJ-20734`](https://youtrack.jetbrains.com/issue/KTIJ-20734) Replace with \[`@JvmInline`] value quick fix should be appliable on a whole project - [`KTIJ-21420`](https://youtrack.jetbrains.com/issue/KTIJ-21420) Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completed - [`KTIJ-21192`](https://youtrack.jetbrains.com/issue/KTIJ-21192) "Make protected" intention is redundant for interface properties - [`KTIJ-18120`](https://youtrack.jetbrains.com/issue/KTIJ-18120) "Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict mode - [`KTIJ-20493`](https://youtrack.jetbrains.com/issue/KTIJ-20493) "Create expect" quick fix doesn't warn about platform-specific annotations ##### IDE. Misc - [`KTIJ-21582`](https://youtrack.jetbrains.com/issue/KTIJ-21582) Notification for Kotlin EAP survey ##### IDE. Multiplatform - [`KT-49523`](https://youtrack.jetbrains.com/issue/KT-49523) Improve environment setup experience for KMM projects - [`KT-50952`](https://youtrack.jetbrains.com/issue/KT-50952) MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes ##### IDE. Native - [`KT-44329`](https://youtrack.jetbrains.com/issue/KT-44329) Improve UX of using Native libraries in Kotlin - [`KTIJ-21602`](https://youtrack.jetbrains.com/issue/KTIJ-21602) With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLED ##### IDE. Wizards - [`KTIJ-20919`](https://youtrack.jetbrains.com/issue/KTIJ-20919) Update ktor-html-builder dependency in kotlin wizards - [`KTIJ-20962`](https://youtrack.jetbrains.com/issue/KTIJ-20962) Wizard: Invalid Ktor imports ##### JavaScript ##### New Features - [`KT-51735`](https://youtrack.jetbrains.com/issue/KT-51735) KJS / IR: Minimize member names in production mode ##### Performance Improvements - [`KT-51127`](https://youtrack.jetbrains.com/issue/KT-51127) Kotlin/JS - IR generates plenty of useless `Unit_getInstance()` - [`KT-50212`](https://youtrack.jetbrains.com/issue/KT-50212) KJS IR: Upcast should be a no-op - [`KT-16974`](https://youtrack.jetbrains.com/issue/KT-16974) JS: Kotlin.charArrayOf is suboptimal due to Rhino bugs ##### Fixes - [`KT-44319`](https://youtrack.jetbrains.com/issue/KT-44319) JS IR BE: Add an ability to generate separate JS files for each module - [`KT-52518`](https://youtrack.jetbrains.com/issue/KT-52518) Kotlin/JS IR: project with 1.6.21 fails to consume library built with 1.7.0-RC: ISE "Unexpected IrType kind: KIND_NOT_SET" at IrDeclarationDeserializer.deserializeIrTypeData() - [`KT-52010`](https://youtrack.jetbrains.com/issue/KT-52010) K/JS IR: both flows execute when using elvis operator - [`KT-41096`](https://youtrack.jetbrains.com/issue/KT-41096) KJS IR: `@JsExport` should use original js name for external declarations - [`KT-52144`](https://youtrack.jetbrains.com/issue/KT-52144) KJS / IR: Missing property definitions for interfaced defined properties - [`KT-52252`](https://youtrack.jetbrains.com/issue/KT-52252) KJS / IR: overridden properties are undefined/null - [`KT-51973`](https://youtrack.jetbrains.com/issue/KT-51973) KJS / IR overridden properties of inherited interface missing - [`KT-51125`](https://youtrack.jetbrains.com/issue/KT-51125) Provide a way to use `import` keyword in `js` expressions - [`KT-40888`](https://youtrack.jetbrains.com/issue/KT-40888) KJS / IR: Missing methods are no longer generated (polyfills) - [`KT-50504`](https://youtrack.jetbrains.com/issue/KT-50504) KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields - [`KT-51853`](https://youtrack.jetbrains.com/issue/KT-51853) JS compilation fails with "Uninitialized fast cache info" error - [`KT-51205`](https://youtrack.jetbrains.com/issue/KT-51205) K/JS IR: external class is mapped to any - [`KT-50806`](https://youtrack.jetbrains.com/issue/KT-50806) Typescript definitions contain invalid nested block comments with generic parent and type argument without `@JsExport` - [`KT-51841`](https://youtrack.jetbrains.com/issue/KT-51841) KJS / IR: No flat hash for FUN FAKE_OVERRIDE with kotlin.incremental.js.ir=true - [`KT-51081`](https://youtrack.jetbrains.com/issue/KT-51081) KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compiler - [`KT-51084`](https://youtrack.jetbrains.com/issue/KT-51084) KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifier - [`KT-51211`](https://youtrack.jetbrains.com/issue/KT-51211) K/JS IR: JsExport: Can't export nested enum - [`KT-51438`](https://youtrack.jetbrains.com/issue/KT-51438) KJS / IR: Duplicated import names for the same external names - [`KT-51238`](https://youtrack.jetbrains.com/issue/KT-51238) Kotlin/JS: IR + IC: build fails after clean on `compileTestDevelopmentExecutableKotlinJs` task: "Failed to create MD5 hash for file '.../build/classes/kotlin/main' as it does not exist" - [`KT-50674`](https://youtrack.jetbrains.com/issue/KT-50674) KJS / IR: JS code cannot modify local variable - [`KT-50953`](https://youtrack.jetbrains.com/issue/KT-50953) KJS IR: Incorrect nested commenting in d.ts - [`KT-15223`](https://youtrack.jetbrains.com/issue/KT-15223) JS: function that overrides external function with `vararg` parameter is translated incorrectly - [`KT-50657`](https://youtrack.jetbrains.com/issue/KT-50657) KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long. ##### Language Design ##### New Features - [`KT-45618`](https://youtrack.jetbrains.com/issue/KT-45618) Stabilize builder inference - [`KT-30485`](https://youtrack.jetbrains.com/issue/KT-30485) Underscore operator for type arguments - [`KT-49006`](https://youtrack.jetbrains.com/issue/KT-49006) Support at least three previous versions of language/API - [`KT-16768`](https://youtrack.jetbrains.com/issue/KT-16768) Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type) - [`KT-14663`](https://youtrack.jetbrains.com/issue/KT-14663) Support having a "public" and a "private" type for the same property - [`KT-50477`](https://youtrack.jetbrains.com/issue/KT-50477) Functional conversion does not work on suspending functions - [`KT-32162`](https://youtrack.jetbrains.com/issue/KT-32162) Allow generics for inline classes ##### Fixes - [`KT-12380`](https://youtrack.jetbrains.com/issue/KT-12380) Support sealed (exhaustive) whens - [`KT-27750`](https://youtrack.jetbrains.com/issue/KT-27750) Reverse reservation of 'yield' as keyword - [`KT-22956`](https://youtrack.jetbrains.com/issue/KT-22956) Release OptIn annotations - [`KT-44866`](https://youtrack.jetbrains.com/issue/KT-44866) Change behavior of private constructors of sealed classes - [`KT-49110`](https://youtrack.jetbrains.com/issue/KT-49110) Prohibit access to members of companion of enum class from initializers of entries of this enum - [`KT-29405`](https://youtrack.jetbrains.com/issue/KT-29405) Switch default JVM target version to 1.8 ##### Libraries ##### New Features - [`KT-50484`](https://youtrack.jetbrains.com/issue/KT-50484) Extensions for java.util.Optional in stdlib - [`KT-50146`](https://youtrack.jetbrains.com/issue/KT-50146) Reintroduce min/max(By/With) operations on collections with non-nullable return type - [`KT-46132`](https://youtrack.jetbrains.com/issue/KT-46132) Specialized default time source with non-allocating time marks - [`KT-41890`](https://youtrack.jetbrains.com/issue/KT-41890) Support named capture groups in Regex on Native - [`KT-48179`](https://youtrack.jetbrains.com/issue/KT-48179) Introduce API to retrieve the number of CPUs the runtime has ##### Performance Improvements - [`KT-42178`](https://youtrack.jetbrains.com/issue/KT-42178) Range and Progression should override last() ##### Fixes - [`KT-42436`](https://youtrack.jetbrains.com/issue/KT-42436) Support `java.nio.Path` extension in the standard library - [`KT-51470`](https://youtrack.jetbrains.com/issue/KT-51470) Stabilize experimental API for 1.7 - [`KT-51775`](https://youtrack.jetbrains.com/issue/KT-51775) JS: Support named capture groups in Regex - [`KT-51776`](https://youtrack.jetbrains.com/issue/KT-51776) Native: Support back references to groups with multi-digit index - [`KT-51082`](https://youtrack.jetbrains.com/issue/KT-51082) Introduce Enum.declaringJavaClass property - [`KT-51848`](https://youtrack.jetbrains.com/issue/KT-51848) Promote deepRecursiveFunction to stable API - [`KT-48924`](https://youtrack.jetbrains.com/issue/KT-48924) KJS: `toString` in base 36 produces different results in JS compare to JVM - [`KT-50742`](https://youtrack.jetbrains.com/issue/KT-50742) Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 target - [`KT-50059`](https://youtrack.jetbrains.com/issue/KT-50059) Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifier - [`KT-26678`](https://youtrack.jetbrains.com/issue/KT-26678) Rename buildSequence/buildIterator to sequence/iterator ##### Native - [`KT-49406`](https://youtrack.jetbrains.com/issue/KT-49406) Kotlin/Native: generate standalone executable for androidNative targets by default - [`KT-48595`](https://youtrack.jetbrains.com/issue/KT-48595) Enable Native embeddable compiler jar in Gradle plugin by default - [`KT-51377`](https://youtrack.jetbrains.com/issue/KT-51377) Native: synthetic forward declarations are preferred over commonized definitions - [`KT-49145`](https://youtrack.jetbrains.com/issue/KT-49145) Kotlin/Native static library compilation fails for androidNative\* - [`KT-49496`](https://youtrack.jetbrains.com/issue/KT-49496) Gradle (or the KMM plugin) is caching the Xcode Command Line Tools location - [`KT-49247`](https://youtrack.jetbrains.com/issue/KT-49247) gradle --offline should translate into airplaneMode for kotin-native compiler ##### Native. Build Infrastructure - [`KT-52259`](https://youtrack.jetbrains.com/issue/KT-52259) kotlin-native releases from GitHub don't contain platform libs ##### Native. C and ObjC Import - [`KT-49455`](https://youtrack.jetbrains.com/issue/KT-49455) Methods from Swift extensions are not resolved in Kotlin shared module - [`KT-50648`](https://youtrack.jetbrains.com/issue/KT-50648) Incorrect KMM cinterop conversion ##### Native. ObjC Export - [`KT-50982`](https://youtrack.jetbrains.com/issue/KT-50982) RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loading - [`KT-49937`](https://youtrack.jetbrains.com/issue/KT-49937) Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is used ##### Native. Platforms - [`KT-52232`](https://youtrack.jetbrains.com/issue/KT-52232) Kotlin/Native: simplify toolchain dependency override for MinGW ##### Native. Runtime - [`KT-52365`](https://youtrack.jetbrains.com/issue/KT-52365) Kotlin/Native fails to compile projects for 32-bit targets when new memory manager is enabled ##### Native. Runtime. Memory - [`KT-48537`](https://youtrack.jetbrains.com/issue/KT-48537) Kotlin/Native: improve GC triggers in the new MM. - [`KT-50713`](https://youtrack.jetbrains.com/issue/KT-50713) Kotlin/Native: Enable Concurrent Sweep GC by default ##### Native. Stdlib - [`KT-50312`](https://youtrack.jetbrains.com/issue/KT-50312) enhancement: kotlin native -- add alloc\<TVarOf<T>>(T) ##### Native. Testing - [`KT-50316`](https://youtrack.jetbrains.com/issue/KT-50316) Kotlin/Native: Produce a list of available tests alongside the final artifact - [`KT-50139`](https://youtrack.jetbrains.com/issue/KT-50139) Create tests for Enter/Leave frame optimization ##### Reflection - [`KT-27598`](https://youtrack.jetbrains.com/issue/KT-27598) "KotlinReflectionInternalError" when using `callBy` on constructor that has inline class parameters - [`KT-31141`](https://youtrack.jetbrains.com/issue/KT-31141) IllegalArgumentException when reflectively accessing nullable property of inline class type ##### Tools. CLI - [`KT-52409`](https://youtrack.jetbrains.com/issue/KT-52409) Report error when use-k2 with Multiplatform - [`KT-51717`](https://youtrack.jetbrains.com/issue/KT-51717) IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabled - [`KT-52217`](https://youtrack.jetbrains.com/issue/KT-52217) Rename 'useFir' to 'useK2' - [`KT-29974`](https://youtrack.jetbrains.com/issue/KT-29974) Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK version - [`KT-51673`](https://youtrack.jetbrains.com/issue/KT-51673) Make language version description not in capital letters - [`KT-48833`](https://youtrack.jetbrains.com/issue/KT-48833) -Xsuppress-version-warnings allows to suppress errors about unsupported versions - [`KT-51627`](https://youtrack.jetbrains.com/issue/KT-51627) kotlinc fails with `java.lang.RuntimeException` if `/tmp/build.txt` file exists on the disk - [`KT-51306`](https://youtrack.jetbrains.com/issue/KT-51306) Support reading language settings from an environment variable and overriding the current settings by them - [`KT-51093`](https://youtrack.jetbrains.com/issue/KT-51093) "-Xopt-in=..." command line argument no longer works ##### Tools. Commonizer - [`KT-43309`](https://youtrack.jetbrains.com/issue/KT-43309) Overwrite return type and parameter types of callable member to succeed commonization - [`KT-52050`](https://youtrack.jetbrains.com/issue/KT-52050) \[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hosts - [`KT-51224`](https://youtrack.jetbrains.com/issue/KT-51224) MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumber - [`KT-51215`](https://youtrack.jetbrains.com/issue/KT-51215) MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumber - [`KT-51686`](https://youtrack.jetbrains.com/issue/KT-51686) Cinterop: Overload resolution ambiguity in 1.6.20-RC2 - [`KT-46636`](https://youtrack.jetbrains.com/issue/KT-46636) HMPP: missed classes from `platform.posix.*` - [`KT-51332`](https://youtrack.jetbrains.com/issue/KT-51332) Optimistic number commonization is disabled by default in KGP with enabled HMPP ##### Tools. Compiler Plugins - [`KT-50992`](https://youtrack.jetbrains.com/issue/KT-50992) jvm-abi-gen breaks inline functions in inline classes with private constructors in Kotlin 1.6.20 ##### Tools. Daemon - [`KT-32885`](https://youtrack.jetbrains.com/issue/KT-32885) KT. Kotlin daemon compilation process is broken: java.lang.IllegalStateException Service is dying at entities generation by Kotlin.kts script ##### Tools. Gradle ##### New Features - [`KT-49227`](https://youtrack.jetbrains.com/issue/KT-49227) Support Gradle plugins variants - [`KT-50869`](https://youtrack.jetbrains.com/issue/KT-50869) Provide API that allow AGP to set up Kotlin compilation - [`KT-48008`](https://youtrack.jetbrains.com/issue/KT-48008) Consider offering a KotlinBasePlugin - [`KT-52030`](https://youtrack.jetbrains.com/issue/KT-52030) Provide experimental possibility to view internal information about Kotlin Compiler performance ##### Performance Improvements - [`KT-52141`](https://youtrack.jetbrains.com/issue/KT-52141) Optimize Java class snapshotting for the `kotlin.incremental.useClasspathSnapshot` feature - [`KT-51978`](https://youtrack.jetbrains.com/issue/KT-51978) Optimize classpath snapshot cache for the `kotlin.incremental.useClasspathSnapshot` feature - [`KT-51326`](https://youtrack.jetbrains.com/issue/KT-51326) Kotlin-gradle-plugin performance issue with mass java SourceRoots ##### Fixes - [`KT-52448`](https://youtrack.jetbrains.com/issue/KT-52448) Compilation tasks are missing input/output/internal annotations on includes/excludes properties - [`KT-52239`](https://youtrack.jetbrains.com/issue/KT-52239) Type based task configuration-blocks for JVM stopped working in Gradle - [`KT-52313`](https://youtrack.jetbrains.com/issue/KT-52313) No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modules - [`KT-51854`](https://youtrack.jetbrains.com/issue/KT-51854) Add Ktor to gradle performance benchmark - [`KT-52086`](https://youtrack.jetbrains.com/issue/KT-52086) Rename flag 'use-fir' to 'use-k2' - [`KT-52509`](https://youtrack.jetbrains.com/issue/KT-52509) Main variant published to Gradle plugin portal uses unshadowed artifact - [`KT-52392`](https://youtrack.jetbrains.com/issue/KT-52392) Gradle: 1.7.0 does not support custom gradle build configuration on Windows OS - [`KT-32805`](https://youtrack.jetbrains.com/issue/KT-32805) KotlinCompile inherits properties sourceCompatibility and targetCompatibility which breaks Gradle's incremental compilation - [`KT-52189`](https://youtrack.jetbrains.com/issue/KT-52189) Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler task - [`KT-51415`](https://youtrack.jetbrains.com/issue/KT-51415) Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasks - [`KT-52187`](https://youtrack.jetbrains.com/issue/KT-52187) New IC can not be enabled in an Android project using kapt - [`KT-51898`](https://youtrack.jetbrains.com/issue/KT-51898) Upgrading Kotlin/Kotlin Gradle plugin to 1.5.3 and above breaks 'com.android.asset-pack' plugin - [`KT-51913`](https://youtrack.jetbrains.com/issue/KT-51913) Gradle plugin should not add attributes to the legacy configurations - [`KT-34862`](https://youtrack.jetbrains.com/issue/KT-34862) Restoring from build cache breaks Kotlin incremental compilation - [`KT-45777`](https://youtrack.jetbrains.com/issue/KT-45777) New IC in Gradle - [`KT-51360`](https://youtrack.jetbrains.com/issue/KT-51360) Show performance difference in percent between releases - [`KT-51380`](https://youtrack.jetbrains.com/issue/KT-51380) Add open-source project using Kotlin/JS plugin to build regression benchmarks - [`KT-51937`](https://youtrack.jetbrains.com/issue/KT-51937) Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATE - [`KT-48276`](https://youtrack.jetbrains.com/issue/KT-48276) Remove kotlin2js and kotlin-dce-plugin - [`KT-52138`](https://youtrack.jetbrains.com/issue/KT-52138) KSP could not access internal methods/properties in Kotlin Gradle Plugin - [`KT-51342`](https://youtrack.jetbrains.com/issue/KT-51342) Set minimal supported Android Gradle plugin version to 3.6.4 - [`KT-50494`](https://youtrack.jetbrains.com/issue/KT-50494) Remove kotlin.experimental.coroutines Gradle DSL option - [`KT-49733`](https://youtrack.jetbrains.com/issue/KT-49733) Bump minimal supported Gradle version to 6.7.1 - [`KT-48831`](https://youtrack.jetbrains.com/issue/KT-48831) Remove 'KotlinGradleSubplugin' - [`KT-47924`](https://youtrack.jetbrains.com/issue/KT-47924) Remove annoying cast in toolchain extension method for Kotlin DSL - [`KT-46541`](https://youtrack.jetbrains.com/issue/KT-46541) Fail Gradle builds when deprecated kotlinOptions.jdkHome is set - [`KT-51830`](https://youtrack.jetbrains.com/issue/KT-51830) Gradle: deprecate `kotlin.compiler.execution.strategy` system property - [`KT-47763`](https://youtrack.jetbrains.com/issue/KT-47763) Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUse - [`KT-51374`](https://youtrack.jetbrains.com/issue/KT-51374) NoSuchFileException in getOrCreateSessionFlagFile() - [`KT-51837`](https://youtrack.jetbrains.com/issue/KT-51837) kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6. - [`KT-51454`](https://youtrack.jetbrains.com/issue/KT-51454) KotlinJvmTest is not a cacheable task - [`KT-45745`](https://youtrack.jetbrains.com/issue/KT-45745) Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CI - [`KT-47318`](https://youtrack.jetbrains.com/issue/KT-47318) Remove deprecated 'kotlinPluginVersion' property in \`KotlinBasePluginWrapper' - [`KT-51378`](https://youtrack.jetbrains.com/issue/KT-51378) Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath - [`KT-46038`](https://youtrack.jetbrains.com/issue/KT-46038) Gradle: `kotlin_module` files are corrupted in the KotlinCompile output, and gets cached - [`KT-51064`](https://youtrack.jetbrains.com/issue/KT-51064) Kotlin gradle build hangs on MetricsContainer.flush - [`KT-48779`](https://youtrack.jetbrains.com/issue/KT-48779) Gradle: Could not connect to kotlin daemon ##### Tools. Gradle. Cocoapods - [`KT-50622`](https://youtrack.jetbrains.com/issue/KT-50622) Cocoapods Plugin: cocoapods-generate does not work correctly with ruby 3.0.0 and higher - [`KT-51861`](https://youtrack.jetbrains.com/issue/KT-51861) Custom binary name in CocoaPods plugin isn't respected by fatFramework task ##### Tools. Gradle. JS - [`KT-52221`](https://youtrack.jetbrains.com/issue/KT-52221) Kotlin/JS: failed Node tests are not reported in a standard way - [`KT-51895`](https://youtrack.jetbrains.com/issue/KT-51895) K/JS: Redundant technical messages during JS tests - [`KT-51414`](https://youtrack.jetbrains.com/issue/KT-51414) Allow set up environment variables for JS tests - [`KT-51623`](https://youtrack.jetbrains.com/issue/KT-51623) Kotlin/JS: Mocha could not failed when external module not found - [`KT-51503`](https://youtrack.jetbrains.com/issue/KT-51503) Update NPM dependency versions ##### Tools. Gradle. Multiplatform ##### New Features - [`KT-51386`](https://youtrack.jetbrains.com/issue/KT-51386) \[KPM] IdeaKotlinProjectModelBuilder: Implement dependencies ##### Fixes - [`KT-49524`](https://youtrack.jetbrains.com/issue/KT-49524) Improve DSL for managing Kotlin/Native binary output - [`KT-51765`](https://youtrack.jetbrains.com/issue/KT-51765) com.android.lint in multiplatform project without android target should not trigger warning - [`KT-38456`](https://youtrack.jetbrains.com/issue/KT-38456) MPP with Android source set: allTests task does not execute Android unit tests - [`KT-44227`](https://youtrack.jetbrains.com/issue/KT-44227) Common tests are not launched on local JVM for Android via allTests task in a multiplatform project - [`KT-51946`](https://youtrack.jetbrains.com/issue/KT-51946) Temporarily mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 - [`KT-52140`](https://youtrack.jetbrains.com/issue/KT-52140) Support extensibility Kotlin Artifacts DSL by external gradle plugins - [`KT-51947`](https://youtrack.jetbrains.com/issue/KT-51947) Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using Reflection - [`KT-50925`](https://youtrack.jetbrains.com/issue/KT-50925) Could not resolve all files for configuration ':metadataCompileClasspath' - [`KT-51262`](https://youtrack.jetbrains.com/issue/KT-51262) \[KPM] IDEA import: Move model builder to KGP - [`KT-51220`](https://youtrack.jetbrains.com/issue/KT-51220) \[KPM]\[Android] Implement generic data storage and import pipeline - [`KT-48649`](https://youtrack.jetbrains.com/issue/KT-48649) No run task generated for macosArm64 target in Gradle plugin ##### Tools. Gradle. Native - [`KT-47746`](https://youtrack.jetbrains.com/issue/KT-47746) Allow customization of the Kotlin/Native compiler download url - [`KT-51884`](https://youtrack.jetbrains.com/issue/KT-51884) Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when building `assembleFooXCFramework` task on Linux ##### Tools. Incremental Compile - [`KT-51546`](https://youtrack.jetbrains.com/issue/KT-51546) FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI" - [`KT-49780`](https://youtrack.jetbrains.com/issue/KT-49780) IncrementalCompilerRunner bug: Outputs are deleted after successful rebuild following fallback from an exception - [`KT-44741`](https://youtrack.jetbrains.com/issue/KT-44741) Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant ##### Tools. JPS - [`KTIJ-17280`](https://youtrack.jetbrains.com/issue/KTIJ-17280) JPS: don't use java.io.File.createTempFile as it is not working sometimes - [`KTIJ-20954`](https://youtrack.jetbrains.com/issue/KTIJ-20954) NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7 ##### Tools. Kapt - [`KT-49533`](https://youtrack.jetbrains.com/issue/KT-49533) Make kapt work out of the box with latest JDKs - [`KT-52284`](https://youtrack.jetbrains.com/issue/KT-52284) FIR: add error in 1.7.0 branch if run with Kapt - [`KT-51463`](https://youtrack.jetbrains.com/issue/KT-51463) KAPT: Incremental compilation not working when rerunning unit tests - [`KT-51132`](https://youtrack.jetbrains.com/issue/KT-51132) KAPT: Support reporting the number of generated files by each annotation processor - [`KT-30172`](https://youtrack.jetbrains.com/issue/KT-30172) Kapt: Shutdown kotlinc gracefully in case of error in annotation processor ##### Tools. Scripts - [`KT-49173`](https://youtrack.jetbrains.com/issue/KT-49173) Add support for nullable types in provided properties and other configuration-defined declarations - [`KT-52294`](https://youtrack.jetbrains.com/issue/KT-52294) \[Scripting] Update oudated org.eclipse.aether dependencies to new org.apache.maven.resolver - [`KT-51213`](https://youtrack.jetbrains.com/issue/KT-51213) Kotlin JSR223 crashes with "ScriptException: ERROR java.lang.NullPointerException:" if bindings contain one or more null values - [`KT-48812`](https://youtrack.jetbrains.com/issue/KT-48812) Script: "IllegalStateException: unknown classifier kind SCRIPT" when passing a function reference to a Flow - [`KT-50902`](https://youtrack.jetbrains.com/issue/KT-50902) Scripts loaded from the compilation cache ignore the `loadDependencies` eval configuration property - [`KT-52186`](https://youtrack.jetbrains.com/issue/KT-52186) Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a function - [`KT-51731`](https://youtrack.jetbrains.com/issue/KT-51731) Script: jsr223 memory leak in spring-boot Fat Jar - [`KT-49258`](https://youtrack.jetbrains.com/issue/KT-49258) Scripts: method 'void <init>()' not found with multiple evals using kotlin script JSR223 - [`KT-51346`](https://youtrack.jetbrains.com/issue/KT-51346) Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside class ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.7.0.zip | f5216644ad81571e5db62ec2322fe07468927bda40f51147ed626a2884b55f9a | | kotlin-native-linux-x86\_64-1.7.0.tar.gz | 0a70da9bbd9405233f68d7a5863d098cb372f60171e5620f023b6fb9b9e99a9c | | kotlin-native-macos-x86\_64-1.7.0.tar.gz | b39a85a6e59e91eecb09f51290dc9704e816752275f9cb3a83b994d68b14fc9f | | kotlin-native-macos-aarch64-1.7.0.tar.gz | 5f1f4c1fb4090c27db3caf5f03953566855bb8ba08272cbb40414c9420fd257c | | kotlin-native-windows-x86\_64-1.7.0.zip | 2736b340adc708fe21083d441a86f96bb77fbbbe3f7c41a29fb1e10dd488bb26 | ### [`v1.6.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.6.21): Kotlin 1.6.21 ##### Changelog ##### Compiler - [`KT-51979`](https://youtrack.jetbrains.com/issue/KT-51979) "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override - [`KT-51893`](https://youtrack.jetbrains.com/issue/KT-51893) Duplicated \[OVERRIDE_DEPRECATION] on overridden properties - [`KT-51927`](https://youtrack.jetbrains.com/issue/KT-51927) Native: `The symbol of unexpected type encountered during IR deserialization` error when multiple libraries have non-conflicting declarations with the same name - [`KT-51843`](https://youtrack.jetbrains.com/issue/KT-51843) Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags - [`KT-51672`](https://youtrack.jetbrains.com/issue/KT-51672) JVM IR: Inline class mangling issue in interface default methods split across multiple modules - [`KT-51711`](https://youtrack.jetbrains.com/issue/KT-51711) Compiler warning is displayed in case there is 'if' else branch used with elvis - [`KT-49317`](https://youtrack.jetbrains.com/issue/KT-49317) "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter ##### IDE. Native - [`KTIJ-20819`](https://youtrack.jetbrains.com/issue/KTIJ-20819) Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process" ##### JavaScript - [`KT-52010`](https://youtrack.jetbrains.com/issue/KT-52010) K/JS IR: both flows execute when using elvis operator - [`KT-51973`](https://youtrack.jetbrains.com/issue/KT-51973) KJS / IR overridden properties of inherited interface missing - [`KT-50504`](https://youtrack.jetbrains.com/issue/KT-50504) KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields ##### Tools. Gradle - [`KT-51837`](https://youtrack.jetbrains.com/issue/KT-51837) kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6. ##### Tools. Gradle. Multiplatform - [`KT-51810`](https://youtrack.jetbrains.com/issue/KT-51810) MPP / Gradle: Dependency locking fails with 1.6.20 - [`KT-51765`](https://youtrack.jetbrains.com/issue/KT-51765) com.android.lint in multiplatform project without android target should not trigger warning ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.6.21.zip | 632166fed89f3f430482f5aa07f2e20b923b72ef688c8f5a7df3aa1502c6d8ba | | kotlin-native-linux-x86\_64-1.6.21.tar.gz | 14e7b9bee2e9ef7bff9a69881fef44d287bbb3adaa05396e0c03e77dfc9b0d3d | | kotlin-native-macos-x86\_64-1.6.21.tar.gz | 61dfee00b11f3c27e349854b9a9d530ed86a882e6c8a81f77f16acecf9660eeb | | kotlin-native-macos-aarch64-1.6.21.tar.gz | c2734c651e680b85805c17488f31125220d96eca8e3ba89b5b58f07c61ff5239 | | kotlin-native-windows-x86\_64-1.6.21.zip | db8560138580038c23e88a7ceb6eb4e8a3ec7d7fd66218e82096d52402f280a8 | ### [`v1.6.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.6.20): Kotlin 1.6.20 ##### Changelog ##### Compiler ##### New Features - [`KT-48217`](https://youtrack.jetbrains.com/issue/KT-48217) Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is used - [`KT-49929`](https://youtrack.jetbrains.com/issue/KT-49929) \[FIR] Support programmatic creation of annotation class instances - [`KT-49276`](https://youtrack.jetbrains.com/issue/KT-49276) Warn about potential overload resolution change if Range/Progression starts implementing Collection - [`KT-47902`](https://youtrack.jetbrains.com/issue/KT-47902) Do not propagate method deprecation through overrides - [`KT-49857`](https://youtrack.jetbrains.com/issue/KT-49857) Require Xcode 13 for building Kotlin/Native compiler - [`KT-47701`](https://youtrack.jetbrains.com/issue/KT-47701) Support instantiation of annotation classes on Native - [`KT-46085`](https://youtrack.jetbrains.com/issue/KT-46085) Support experimental parallel compilation of a single module in the JVM backend - [`KT-46603`](https://youtrack.jetbrains.com/issue/KT-46603) Generate SAM-conversions to Java interfaces extending 'java.io.Serializable' as serializable using java.lang.invoke.LambdaMetafactory ##### Performance Improvements - [`KT-50156`](https://youtrack.jetbrains.com/issue/KT-50156) HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker) - [`KT-50073`](https://youtrack.jetbrains.com/issue/KT-50073) Performance regression in adapted function references - [`KT-50076`](https://youtrack.jetbrains.com/issue/KT-50076) Performance regression in super call to an interface member in $DefaultImpls - [`KT-50080`](https://youtrack.jetbrains.com/issue/KT-50080) Performance regression in string template with generic property with primitive upper bound - [`KT-50084`](https://youtrack.jetbrains.com/issue/KT-50084) Performance regression in concatenation with 'String?' - [`KT-50078`](https://youtrack.jetbrains.com/issue/KT-50078) Performance regression in for-in-array loop - [`KT-50039`](https://youtrack.jetbrains.com/issue/KT-50039) Performance regression in inner class constructor call with default parameters - [`KT-48784`](https://youtrack.jetbrains.com/issue/KT-48784) An anonymous class has fields for variables that are only used in the constructor - [`KT-42010`](https://youtrack.jetbrains.com/issue/KT-42010) Generate IINC instruction for postfix increment in JVM_IR - [`KT-48433`](https://youtrack.jetbrains.com/issue/KT-48433) JVM_IR don't generate null check on 'this$0' parameter of inner class constructor - [`KT-48435`](https://youtrack.jetbrains.com/issue/KT-48435) JVM_IR ConstForLoopBenchmark performance regression - [`KT-48507`](https://youtrack.jetbrains.com/issue/KT-48507) JVM_IR ForLoopBenchmark regressions - [`KT-48640`](https://youtrack.jetbrains.com/issue/KT-48640) Performance regression in 'longDownToLoop' benchmarks - [`KT-29822`](https://youtrack.jetbrains.com/issue/KT-29822) Generate specialized bytecode for loops withIndex over unsigned arrays - [`KT-48669`](https://youtrack.jetbrains.com/issue/KT-48669) Generate optimizable counter loop for loops over indices of unsigned arrays - [`KT-49444`](https://youtrack.jetbrains.com/issue/KT-49444) Possible performance degradation with UInt downTo loop - [`KT-48944`](https://youtrack.jetbrains.com/issue/KT-48944) Possible performance regression with comparison of local KFunctions - [`KT-17111`](https://youtrack.jetbrains.com/issue/KT-17111) Eliminate redundant store/load instructions when the value stored is simple - [`KT-36837`](https://youtrack.jetbrains.com/issue/KT-36837) Generate more compact code for for-in-range loop in JVM_IR - [`KT-48947`](https://youtrack.jetbrains.com/issue/KT-48947) JVM / IR Possible performance regression with string templates - [`KT-48931`](https://youtrack.jetbrains.com/issue/KT-48931) JVM / IR: Performance degradation with string concatenation - [`KT-36654`](https://youtrack.jetbrains.com/issue/KT-36654) Generate more compact bytecode for safe call in JVM_IR ##### Fixes - [`KT-24643`](https://youtrack.jetbrains.com/issue/KT-24643) Prohibit using a type parameter declared for an extension property inside delegate - [`KT-51747`](https://youtrack.jetbrains.com/issue/KT-51747) Make `KtCallableDeclaration.getContextReceivers` default to preserve compatibility - [`KT-49658`](https://youtrack.jetbrains.com/issue/KT-49658) NI: False negative TYPE_MISMATCH on nullable type with `when` - [`KT-43493`](https://youtrack.jetbrains.com/issue/KT-43493) NI: [@&#8203;BuilderInference](https://github.com/BuilderInference) prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'" - [`KT-51649`](https://youtrack.jetbrains.com/issue/KT-51649) Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functions - [`KT-48626`](https://youtrack.jetbrains.com/issue/KT-48626) JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723 - [`KT-51036`](https://youtrack.jetbrains.com/issue/KT-51036) JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion object - [`KT-51471`](https://youtrack.jetbrains.com/issue/KT-51471) Native: incorrect debug information when inheriting suspend fun invoke implementation - [`KT-51352`](https://youtrack.jetbrains.com/issue/KT-51352) "ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receivers - [`KT-51271`](https://youtrack.jetbrains.com/issue/KT-51271) "ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context function - [`KT-47084`](https://youtrack.jetbrains.com/issue/KT-47084) JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambda - [`KT-30616`](https://youtrack.jetbrains.com/issue/KT-30616) Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum) - [`KT-50520`](https://youtrack.jetbrains.com/issue/KT-50520) "NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder - [`KT-51353`](https://youtrack.jetbrains.com/issue/KT-51353) IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK - [`KT-48945`](https://youtrack.jetbrains.com/issue/KT-48945) JVM IR: special bridge for `get` is not generated in a Map subclass - [`KT-48499`](https://youtrack.jetbrains.com/issue/KT-48499) Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file. - [`KT-49998`](https://youtrack.jetbrains.com/issue/KT-49998) JVM: missing default value for annotation parameter of an unsigned type - [`KT-49793`](https://youtrack.jetbrains.com/issue/KT-49793) JVM: `IncompatibleClassChangeError: Expected non-static field` when property delegation uses receiver of another delegated property - [`KT-51302`](https://youtrack.jetbrains.com/issue/KT-51302) Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformer - [`KT-51148`](https://youtrack.jetbrains.com/issue/KT-51148) "AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parameters - [`KT-50970`](https://youtrack.jetbrains.com/issue/KT-50970) Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targets - [`KT-50843`](https://youtrack.jetbrains.com/issue/KT-50843) Kotlin/Native: LLVM constant merge pass does not work for Kotlin constants - [`KT-51157`](https://youtrack.jetbrains.com/issue/KT-51157) JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameter - [`KT-50498`](https://youtrack.jetbrains.com/issue/KT-50498) Exception after analysing an erroneous lambda - [`KT-50258`](https://youtrack.jetbrains.com/issue/KT-50258) `equals()` returns `false` on the same enum instances if we check it for the second time in `when` - [`KT-51062`](https://youtrack.jetbrains.com/issue/KT-51062) Progressions resolve changing warning isn't reported for Java methods - [`KT-48544`](https://youtrack.jetbrains.com/issue/KT-48544) JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference `::arrayOf` - [`KT-50978`](https://youtrack.jetbrains.com/issue/KT-50978) \[Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341) - [`KT-50977`](https://youtrack.jetbrains.com/issue/KT-50977) \[Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229) - [`KT-50976`](https://youtrack.jetbrains.com/issue/KT-50976) \[Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157) - [`KT-51040`](https://youtrack.jetbrains.com/issue/KT-51040) Type inference fails on 1.6: "Cannot use 'CapturedType(\*)' as reified type parameter" with EnumSet and elvis operator - [`KT-51080`](https://youtrack.jetbrains.com/issue/KT-51080) Line number in mapping for the first instruction is lost - [`KT-49526`](https://youtrack.jetbrains.com/issue/KT-49526) JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximated - [`KT-50399`](https://youtrack.jetbrains.com/issue/KT-50399) Error: unexpected variance in super type argument: out `@0` - [`KT-50649`](https://youtrack.jetbrains.com/issue/KT-50649) JVM IR: ClassCastException when returning Result as generic type - [`KT-50617`](https://youtrack.jetbrains.com/issue/KT-50617) JVM IR: java.lang.IndexOutOfBoundsException "Empty list doesn't contain element at index 0" when class and interface have the same name and extension function is used - [`KT-50856`](https://youtrack.jetbrains.com/issue/KT-50856) SAM conversion generates invalid bytecode for generics - [`KT-45693`](https://youtrack.jetbrains.com/issue/KT-45693) False negative INCOMPATIBLE_TYPES with `when` with generic subject - [`KT-49903`](https://youtrack.jetbrains.com/issue/KT-49903) JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.out - [`KT-51022`](https://youtrack.jetbrains.com/issue/KT-51022) Fix error messages for resolution ambiguity with stub types - [`KT-51035`](https://youtrack.jetbrains.com/issue/KT-51035) PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java function - [`KT-50797`](https://youtrack.jetbrains.com/issue/KT-50797) Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying type - [`KT-50878`](https://youtrack.jetbrains.com/issue/KT-50878) Usage of contextual declarations from third-party library is allowed without `-Xcontext-receivers` - [`KT-49829`](https://youtrack.jetbrains.com/issue/KT-49829) Wrong "cast can never succeed" diagnostic with builder inference - [`KT-49828`](https://youtrack.jetbrains.com/issue/KT-49828) Improve builder inference diagnostics with overload resolution ambiguity - [`KT-50989`](https://youtrack.jetbrains.com/issue/KT-50989) CCE cause by EmptySubstitutor in ResolutionWithStubTypesChecker - [`KT-49729`](https://youtrack.jetbrains.com/issue/KT-49729) Implement deprecation warning for private constructors of sealed classes - [`KT-49349`](https://youtrack.jetbrains.com/issue/KT-49349) Implement deprecation for invalid if as expression in rhs of elvis - [`KT-46285`](https://youtrack.jetbrains.com/issue/KT-46285) \[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfaces - [`KT-49002`](https://youtrack.jetbrains.com/issue/KT-49002) Allow OptIn marker on override if base class has the same marker - [`KT-48899`](https://youtrack.jetbrains.com/issue/KT-48899) Report warnings on overrides with wrong types nullability - [`KT-49461`](https://youtrack.jetbrains.com/issue/KT-49461) Implement prohibitation of access to members of companion of enum class from initializers of entries of this enum - [`KT-49754`](https://youtrack.jetbrains.com/issue/KT-49754) Kotlin/JS: `@JsExport` on enum class reports NON_EXPORTABLE_TYPE warning - [`KT-49598`](https://youtrack.jetbrains.com/issue/KT-49598) Misleading error message "Using [@&#8203;JvmRecord](https://github.com/JvmRecord) is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled" - [`KT-44133`](https://youtrack.jetbrains.com/issue/KT-44133) Inline classes: class literal in annotation arguments uses underlying type - [`KT-47703`](https://youtrack.jetbrains.com/issue/KT-47703) ClassCastException: Programmatically created annotation can't hold Array\<KClass<\*>> - [`KT-47549`](https://youtrack.jetbrains.com/issue/KT-47549) JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside "fun interface" in another file - [`KT-50120`](https://youtrack.jetbrains.com/issue/KT-50120) HMPP: False positive \[NO_VALUE_FOR_PARAMETER] for expect function usages - [`KT-49864`](https://youtrack.jetbrains.com/issue/KT-49864) JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all mode - [`KT-49812`](https://youtrack.jetbrains.com/issue/KT-49812) JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same name - [`KT-49936`](https://youtrack.jetbrains.com/issue/KT-49936) Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generated - [`KT-48181`](https://youtrack.jetbrains.com/issue/KT-48181) "ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.Metadata - [`KT-50215`](https://youtrack.jetbrains.com/issue/KT-50215) VerifyError caused by missing cast after is check in when - [`KT-49977`](https://youtrack.jetbrains.com/issue/KT-49977) "Parameter specified as non-null is null" when inline class implements interface method with default parameters - [`KT-50385`](https://youtrack.jetbrains.com/issue/KT-50385) DUPLICATE_LABEL_IN_WHEN is reported on incorrect branches - [`KT-49092`](https://youtrack.jetbrains.com/issue/KT-49092) JVM: ArrayIndexOutOfBoundsException on compiling call with `if` expression and TODO() arguments - [`KT-48987`](https://youtrack.jetbrains.com/issue/KT-48987) JVM / IR: Smartcast, which never succeed, crashes the compiler - [`KT-50277`](https://youtrack.jetbrains.com/issue/KT-50277) Invalid bytecode generated for inline lambda in suspend function - [`KT-50219`](https://youtrack.jetbrains.com/issue/KT-50219) FIR DFA/CFA: no smart cast after null check and assignment - [`KT-44561`](https://youtrack.jetbrains.com/issue/KT-44561) FIR DFA: extract non-null info from comparison against variable with initial constant value - [`KT-44560`](https://youtrack.jetbrains.com/issue/KT-44560) FIR DFA: propagate non-null info to original variables in not-null assertion or cast expression - [`KT-50278`](https://youtrack.jetbrains.com/issue/KT-50278) FIR: accidental resolve to inaccessible value parameter - [`KT-47483`](https://youtrack.jetbrains.com/issue/KT-47483) JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODO - [`KT-50304`](https://youtrack.jetbrains.com/issue/KT-50304) EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertype - [`KT-49765`](https://youtrack.jetbrains.com/issue/KT-49765) JVM: ClassCastException when trying to add object to EmptyList - [`KT-46879`](https://youtrack.jetbrains.com/issue/KT-46879) "AssertionError: Stack should be spilled before suspension call" with Flow and reified type - [`KT-50172`](https://youtrack.jetbrains.com/issue/KT-50172) "AssertionError: Not a callable reflection type" on local function reference with the same name as local variable - [`KT-49443`](https://youtrack.jetbrains.com/issue/KT-49443) JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function call - [`KT-50193`](https://youtrack.jetbrains.com/issue/KT-50193) Garbage collection is not working the same way after jvm-ir-backend change - [`KT-19424`](https://youtrack.jetbrains.com/issue/KT-19424) Compilation exception for script with property delegate calling operator invoke on an object - [`KT-43995`](https://youtrack.jetbrains.com/issue/KT-43995) Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on list - [`KT-47000`](https://youtrack.jetbrains.com/issue/KT-47000) Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) mode - [`KT-50180`](https://youtrack.jetbrains.com/issue/KT-50180) FIR: not enough information to infer type variable for definitely not null type - [`KT-50163`](https://youtrack.jetbrains.com/issue/KT-50163) FIR: ISE unsupported compile-time value BLOCK on complex annotations - [`KT-50171`](https://youtrack.jetbrains.com/issue/KT-50171) JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambda - [`KT-50140`](https://youtrack.jetbrains.com/issue/KT-50140) Internal error on explicit string concatenation of generic type value with 'String' upper bound - [`KT-49992`](https://youtrack.jetbrains.com/issue/KT-49992) Anonymous object should not have access to private members from supertypes - [`KT-49973`](https://youtrack.jetbrains.com/issue/KT-49973) Check existing of default error message for all diagnostics - [`KT-50019`](https://youtrack.jetbrains.com/issue/KT-50019) Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-references - [`KT-49645`](https://youtrack.jetbrains.com/issue/KT-49645) JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value class - [`KT-50028`](https://youtrack.jetbrains.com/issue/KT-50028) Incorrect implicit casts from Unit - [`KT-49615`](https://youtrack.jetbrains.com/issue/KT-49615) JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambda - [`KT-49127`](https://youtrack.jetbrains.com/issue/KT-49127) FIR: smart cast is not performed after comparison - [`KT-48708`](https://youtrack.jetbrains.com/issue/KT-48708) Incorrect cast from Unit to Int - [`KT-48376`](https://youtrack.jetbrains.com/issue/KT-48376) FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from try - [`KT-48113`](https://youtrack.jetbrains.com/issue/KT-48113) FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform type - [`KT-48305`](https://youtrack.jetbrains.com/issue/KT-48305) FIR: incorrect raw type cast - [`KT-48378`](https://youtrack.jetbrains.com/issue/KT-48378) FIR: synthetic accessor lowering should not attempt to modify other files - [`KT-48634`](https://youtrack.jetbrains.com/issue/KT-48634) FIR: false property-setter-function resolve cycle - [`KT-48621`](https://youtrack.jetbrains.com/issue/KT-48621) FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmField - [`KT-48381`](https://youtrack.jetbrains.com/issue/KT-48381) Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.kt - [`KT-48527`](https://youtrack.jetbrains.com/issue/KT-48527) Native: top-level properties in files with `@Test` functions are initialized eagerly even if lazy initialization is enabled - [`KT-48559`](https://youtrack.jetbrains.com/issue/KT-48559) IllegalArgumentException: Unexpected super type argument: \* `@ 0` during IR lowering - [`KT-48687`](https://youtrack.jetbrains.com/issue/KT-48687) IR dump mismatch after deep copy with symbols in IR text test - [`KT-44811`](https://youtrack.jetbrains.com/issue/KT-44811) \[FIR] Exception in body resolve of new contracts - [`KT-48363`](https://youtrack.jetbrains.com/issue/KT-48363) FIR behaves differently in case of resolution between classifier and top-level property - [`KT-48801`](https://youtrack.jetbrains.com/issue/KT-48801) "AssertionError: Stack should be spilled before suspension call" with Flow and crossinline - [`KT-46389`](https://youtrack.jetbrains.com/issue/KT-46389) JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signatures - [`KT-47797`](https://youtrack.jetbrains.com/issue/KT-47797) Regression during migration to 1.6 in compiler - [`KT-47987`](https://youtrack.jetbrains.com/issue/KT-47987) Can't infer a postponed type variable based on callable reference receiver type - [`KT-48446`](https://youtrack.jetbrains.com/issue/KT-48446) "IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function reference - [`KT-48651`](https://youtrack.jetbrains.com/issue/KT-48651) Collect intermediate annotations during type expanding - [`KT-48754`](https://youtrack.jetbrains.com/issue/KT-48754) JVM IR: <clinit> in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0 - [`KT-45034`](https://youtrack.jetbrains.com/issue/KT-45034) Use the new type inference for top-level callable references - [`KT-49001`](https://youtrack.jetbrains.com/issue/KT-49001) OptIn marker should spread from class to its members, taking into account real dispatch receiver type - [`KT-49038`](https://youtrack.jetbrains.com/issue/KT-49038) Generics are discriminated during callable references resolution (false negative) - [`KT-48954`](https://youtrack.jetbrains.com/issue/KT-48954) JVM IR: IllegalAccessError when using Java method reference in constructor - [`KT-48284`](https://youtrack.jetbrains.com/issue/KT-48284) JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolation - [`KT-49053`](https://youtrack.jetbrains.com/issue/KT-49053) JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named file - [`KT-49106`](https://youtrack.jetbrains.com/issue/KT-49106) JVM: infinite recursion with overridden default suspend interface method where override calls super - [`KT-45345`](https://youtrack.jetbrains.com/issue/KT-45345) FIR DFA: `FirDataFlowAnalyzer` seems to add wrong type constraints for type parameters - [`KT-44513`](https://youtrack.jetbrains.com/issue/KT-44513) FIR DFA: extract non-null info from x?.y!! - [`KT-44559`](https://youtrack.jetbrains.com/issue/KT-44559) FIR DFA: propagate non-null info from not-null assertion (!!) - [`KT-49073`](https://youtrack.jetbrains.com/issue/KT-49073) FIR: REDUNDANT_MODIFIER and DEPRECATED_MODIFIER_PAIR should be warnings - [`KT-46371`](https://youtrack.jetbrains.com/issue/KT-46371) FIR: Investigate FunctionType -> ExtensionFunctionType coercion - [`KT-49078`](https://youtrack.jetbrains.com/issue/KT-49078) FIR: false positive TYPE_VARIANCE_CONFLICT - [`KT-47135`](https://youtrack.jetbrains.com/issue/KT-47135) FIR: local class references does not compile - [`KT-48600`](https://youtrack.jetbrains.com/issue/KT-48600) NON_TAIL_RECURSIVE_CALL missing for calls inside lambda - [`KT-48602`](https://youtrack.jetbrains.com/issue/KT-48602) NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singleton - [`KT-48982`](https://youtrack.jetbrains.com/issue/KT-48982) JVM / IR: KotlinNothingValueException caused by function with local object - [`KT-49087`](https://youtrack.jetbrains.com/issue/KT-49087) FIR: false positive REPEATED_ANNOTATION - [`KT-48648`](https://youtrack.jetbrains.com/issue/KT-48648) JVM IR: "AssertionError: Should be primitive or nullable primitive type" with [@&#8203;JvmField](https://github.com/JvmField) generic property with Number upper bound - [`KT-49069`](https://youtrack.jetbrains.com/issue/KT-49069) FIR: False positive INAPPLICABLE_JVM_NAME on getter - [`KT-49203`](https://youtrack.jetbrains.com/issue/KT-49203) JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var and `plusAssign` operator convention call - [`KT-48993`](https://youtrack.jetbrains.com/issue/KT-48993) JVM / IR: "IllegalStateException: Validation failed in file \<multi-file facade ...>" using [@&#8203;JvmMultifileClass](https://github.com/JvmMultifileClass) and one of the symbols in the file exposes a [@&#8203;JvmInline](https://github.com/JvmInline) value class - [`KT-48938`](https://youtrack.jetbrains.com/issue/KT-48938) FIR: Investigate how priorities should work in case SAM-conversion + type parameters - [`KT-49129`](https://youtrack.jetbrains.com/issue/KT-49129) FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS - [`KT-49076`](https://youtrack.jetbrains.com/issue/KT-49076) FIR: false positive "An annotation argument must be compile-time constant" on array of imports - [`KT-49222`](https://youtrack.jetbrains.com/issue/KT-49222) FIR: StackOverflow in MethodSignatureMapper - [`KT-49083`](https://youtrack.jetbrains.com/issue/KT-49083) FIR erroneously requires default value parameters for override calls when imported from object - [`KT-49135`](https://youtrack.jetbrains.com/issue/KT-49135) FIR: ambiguity between type alias and function - [`KT-49134`](https://youtrack.jetbrains.com/issue/KT-49134) FIR makes no difference between lambda with empty parameter list and without explicit parameter list - [`KT-49301`](https://youtrack.jetbrains.com/issue/KT-49301) FIR: Unresolved reference: <init> for object inherited from inner class - [`KT-49070`](https://youtrack.jetbrains.com/issue/KT-49070) FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflict - [`KT-49133`](https://youtrack.jetbrains.com/issue/KT-49133) FIR: protected java.lang.Throwable constructor is not available - [`KT-49407`](https://youtrack.jetbrains.com/issue/KT-49407) JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argument - [`KT-44975`](https://youtrack.jetbrains.com/issue/KT-44975) SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC: confusing error message - [`KT-38698`](https://youtrack.jetbrains.com/issue/KT-38698) MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a "class" - [`KT-45001`](https://youtrack.jetbrains.com/issue/KT-45001) Confusing warning message "This class can only be used with the compiler argument" for `@OptIn` annotation - [`KT-49411`](https://youtrack.jetbrains.com/issue/KT-49411) JVM / IR: NullPointerException during IR lowering with `@JvmField` property in loop range - [`KT-49260`](https://youtrack.jetbrains.com/issue/KT-49260) FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchy - [`KT-49289`](https://youtrack.jetbrains.com/issue/KT-49289) FIR: false positive "return required" for if/else with inlined return in branch - [`KT-49316`](https://youtrack.jetbrains.com/issue/KT-49316) JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modify `val` from the other package - [`KT-45915`](https://youtrack.jetbrains.com/issue/KT-45915) NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPS - [`KT-49288`](https://youtrack.jetbrains.com/issue/KT-49288) FIR2IR: consider generating all fake override calls properly - [`KT-42784`](https://youtrack.jetbrains.com/issue/KT-42784) FIR2IR: first create fake overrides, then bind overridden to them - [`KT-48816`](https://youtrack.jetbrains.com/issue/KT-48816) Kotlin/Native Symbol for public platform.darwin/NSObject|null\[100] is unbound - [`KT-49372`](https://youtrack.jetbrains.com/issue/KT-49372) JVM / IR: Incorrect work of the loop optimization for mutable variable - [`KT-49356`](https://youtrack.jetbrains.com/issue/KT-49356) Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inline - [`KT-49659`](https://youtrack.jetbrains.com/issue/KT-49659) JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modules - [`KT-47101`](https://youtrack.jetbrains.com/issue/KT-47101) Incorrect scope for supertypes in companion objects - [`KT-49360`](https://youtrack.jetbrains.com/issue/KT-49360) Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location" - [`KT-48430`](https://youtrack.jetbrains.com/issue/KT-48430) JVM: ClassCastException with inline class as generic argument for type parameter used in a function type - [`KT-49575`](https://youtrack.jetbrains.com/issue/KT-49575) IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPS - [`KT-47669`](https://youtrack.jetbrains.com/issue/KT-47669) IR inliner doesn't handle inner class functions referring outer this - [`KT-48668`](https://youtrack.jetbrains.com/issue/KT-48668) JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycle - [`KT-49370`](https://youtrack.jetbrains.com/issue/KT-49370) JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argument - [`KT-46744`](https://youtrack.jetbrains.com/issue/KT-46744) Memory Leaks in Kotlin daemon - [`KT-48806`](https://youtrack.jetbrains.com/issue/KT-48806) False-negative USED_AS_EXPRESSION for unreachable catch clauses - [`KT-45972`](https://youtrack.jetbrains.com/issue/KT-45972) FIR: type is incorrectly resolved to private - [`KT-46968`](https://youtrack.jetbrains.com/issue/KT-46968) Remove FirCompositeScope from type resolve - [`KT-49072`](https://youtrack.jetbrains.com/issue/KT-49072) FIR: accidental resolve to private-in-file type - [`KT-34822`](https://youtrack.jetbrains.com/issue/KT-34822) FIR scopes: deal with nested / inner classes and type parameter priority - [`KT-49702`](https://youtrack.jetbrains.com/issue/KT-49702) Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritor - [`KT-49860`](https://youtrack.jetbrains.com/issue/KT-49860) \[FIR] Add smartcast expression to synthetic `subj` access - [`KT-49836`](https://youtrack.jetbrains.com/issue/KT-49836) Inference fails on lambda and adjacent function expressions with receiver - [`KT-49832`](https://youtrack.jetbrains.com/issue/KT-49832) Inference fails on lambda for function types with extension parameter - [`KT-44022`](https://youtrack.jetbrains.com/issue/KT-44022) Excessive diagnostics range for DECLARATION_CANT_BE_INLINED - [`KT-48690`](https://youtrack.jetbrains.com/issue/KT-48690) VERSION_REQUIREMENT_DEPRECATION_ERROR message: use current compiler version instead of language version - [`KT-49609`](https://youtrack.jetbrains.com/issue/KT-49609) Incorrect grammar in DATA_CLASS_NOT_PROPERTY_PARAMETER error message - [`KT-49600`](https://youtrack.jetbrains.com/issue/KT-49600) Misspelled error message for non-constructor properties with backing fields in [@&#8203;JvmRecord](https://github.com/JvmRecord) class - [`KT-49339`](https://youtrack.jetbrains.com/issue/KT-49339) Warn about synchronizing on value classes - [`KT-49950`](https://youtrack.jetbrains.com/issue/KT-49950) Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptor - [`KT-43604`](https://youtrack.jetbrains.com/issue/KT-43604) Problem with initialization order - [`KT-23890`](https://youtrack.jetbrains.com/issue/KT-23890) Default arguments are not transferred from expect generic member functions - [`KT-48811`](https://youtrack.jetbrains.com/issue/KT-48811) Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled) - [`KT-48106`](https://youtrack.jetbrains.com/issue/KT-48106) FIR: incorrect type inference in provideDelegate receiver - [`KT-48325`](https://youtrack.jetbrains.com/issue/KT-48325) Safe call operator prevents object from being garbage collected before leaving function - [`KT-50004`](https://youtrack.jetbrains.com/issue/KT-50004) Linking kotlinx.serialization crashes on Native and JS IR backends - [`KT-49311`](https://youtrack.jetbrains.com/issue/KT-49311) Missing FIR checker for unresolved references in import statement - [`KT-48104`](https://youtrack.jetbrains.com/issue/KT-48104) FIR does not see NotNull/Nullable annotations on type arguments - [`KT-46812`](https://youtrack.jetbrains.com/issue/KT-46812) \[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0 - [`KT-37374`](https://youtrack.jetbrains.com/issue/KT-37374) \[FIR] Add `CheckInfixModifier` resolution stage - [`KT-38351`](https://youtrack.jetbrains.com/issue/KT-38351) FIR: Support `CheckOperatorModifier` resolution stage - [`KT-39614`](https://youtrack.jetbrains.com/issue/KT-39614) \[FIR] Fix building CFG for different candidates of plus assign call - [`KT-40197`](https://youtrack.jetbrains.com/issue/KT-40197) \[FIR] Strange Behaviour of Type Arguments - [`KT-40362`](https://youtrack.jetbrains.com/issue/KT-40362) \[FIR] Match type arguments with type parameters of corresponding qualifier - [`KT-40375`](https://youtrack.jetbrains.com/issue/KT-40375) FIR: No transformation implicit type -> error type for function value parameters - [`KT-40585`](https://youtrack.jetbrains.com/issue/KT-40585) \[FIR] Incorrect type for 1/1.0 - [`KT-42525`](https://youtrack.jetbrains.com/issue/KT-42525) \[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUE - [`KT-43359`](https://youtrack.jetbrains.com/issue/KT-43359) FIR: Check applicability type for callable reference with unbound receiver - [`KT-43378`](https://youtrack.jetbrains.com/issue/KT-43378) FIR: Support or prohibit via call checker callable references to member extensions - [`KT-43289`](https://youtrack.jetbrains.com/issue/KT-43289) FIR: Correctly load irrelevant override for special built-ins - [`KT-44558`](https://youtrack.jetbrains.com/issue/KT-44558) Annotation arguments const expr support is missing in FIR - [`KT-45223`](https://youtrack.jetbrains.com/issue/KT-45223) \[FIR] Ambiguity between explicit and synthetic `removeAt` - [`KT-42215`](https://youtrack.jetbrains.com/issue/KT-42215) FIR: callable reference resolution with type constraints at call-sites - [`KT-45520`](https://youtrack.jetbrains.com/issue/KT-45520) FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALL - [`KT-46410`](https://youtrack.jetbrains.com/issue/KT-46410) \[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graph - [`KT-46421`](https://youtrack.jetbrains.com/issue/KT-46421) FIR: Investigate builder-inference cases - [`KT-43948`](https://youtrack.jetbrains.com/issue/KT-43948) FIR: hidden unresolved callable reference - [`KT-46558`](https://youtrack.jetbrains.com/issue/KT-46558) FIR DFA: run once contract is not considered when analyzing lambda - [`KT-47125`](https://youtrack.jetbrains.com/issue/KT-47125) FIR: Do not avoid trivial constraints if they aren't from upper bounds - [`KT-43691`](https://youtrack.jetbrains.com/issue/KT-43691) FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finally - [`KT-37311`](https://youtrack.jetbrains.com/issue/KT-37311) \[FIR] Support inference of callable references with type variable as expected type - [`KT-31972`](https://youtrack.jetbrains.com/issue/KT-31972) Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor`@1f5b38c2` (ErrorType). - [`KT-48761`](https://youtrack.jetbrains.com/issue/KT-48761) Report NO_TAIL_CALLS_FOUND on 'tailrec' modifier, not on the whole function header - [`KT-47647`](https://youtrack.jetbrains.com/issue/KT-47647) NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameter - [`KT-46995`](https://youtrack.jetbrains.com/issue/KT-46995) Fix setters implicit types only resolved on full body resolve - [`KT-46359`](https://youtrack.jetbrains.com/issue/KT-46359) Kotlin 1.5 lambda is not Java-serializable by default - [`KT-49282`](https://youtrack.jetbrains.com/issue/KT-49282) FIR: suspend conversion does not work inside suspend lambda - [`KT-48953`](https://youtrack.jetbrains.com/issue/KT-48953) FIR: implement diagnostic DELEGATE_USES_EXTENSION_PROPERTY_TYPE_PARAMETER - [`KT-38813`](https://youtrack.jetbrains.com/issue/KT-38813) FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headers - [`KT-49657`](https://youtrack.jetbrains.com/issue/KT-49657) FIR: accidental override with get:JvmName - [`KT-49655`](https://youtrack.jetbrains.com/issue/KT-49655) FIR: smart cast is not performed after update of var to not-null value in branch ##### Docs & Examples - [`KT-50866`](https://youtrack.jetbrains.com/issue/KT-50866) \[Docs] \[Kotlin/Native] Support non-NativeActivity Android executables - [`KT-50220`](https://youtrack.jetbrains.com/issue/KT-50220) \[Docs] \[Kotlin/JVM] New [@&#8203;JvmDefaultWithCompatibility](https://github.com/JvmDefaultWithCompatibility) annotation and changes in -Xjvm-default arguments behavior - [`KT-50844`](https://youtrack.jetbrains.com/issue/KT-50844) \[Docs]\[K/JS] KJS / IR: Installation of NPM dependencies should be with ignore-scripts - [`KT-50831`](https://youtrack.jetbrains.com/issue/KT-50831) \[Docs]\[K/JS] Gradle, JS: Ability to persist / reuse yarn.lock - [`KT-51086`](https://youtrack.jetbrains.com/issue/KT-51086) \[Docs] \[Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask\` - [`KT-50563`](https://youtrack.jetbrains.com/issue/KT-50563) \[Docs] \[Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property - [`KT-50580`](https://youtrack.jetbrains.com/issue/KT-50580) \[Docs] \[Kotlin/Native] Support instantiation of annotation classes on Native - [`KT-50874`](https://youtrack.jetbrains.com/issue/KT-50874) \[Docs] \[Language] Add ability to specify generic type parameters as not-null - [`KT-50564`](https://youtrack.jetbrains.com/issue/KT-50564) \[Docs] \[K/JS] Ensure that [@&#8203;AfterTest](https://github.com/AfterTest) is invoked after the `@Test` function completes for asynchronous tests ##### IDE ##### New Features - [`KTIJ-20169`](https://youtrack.jetbrains.com/issue/KTIJ-20169) Link to What's new in a notification about new Kotlin version ##### Performance Improvements - [`KTIJ-20568`](https://youtrack.jetbrains.com/issue/KTIJ-20568) Optimize SubpackagesIndexService#hasSubpackages ##### Fixes - [`KTIJ-13020`](https://youtrack.jetbrains.com/issue/KTIJ-13020) New compiler settings are applied only after the project is reloaded - [`KTIJ-21154`](https://youtrack.jetbrains.com/issue/KTIJ-21154) StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off" - [`KTIJ-20129`](https://youtrack.jetbrains.com/issue/KTIJ-20129) Load "`@NotNull` T" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullable - [`KTIJ-9793`](https://youtrack.jetbrains.com/issue/KTIJ-9793) UAST: KotlinAbstractUElement.equals fails for psi-less elements - [`KTIJ-16203`](https://youtrack.jetbrains.com/issue/KTIJ-16203) UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression - [`KTIJ-18720`](https://youtrack.jetbrains.com/issue/KTIJ-18720) UAST: `@Deprecated(level=DeprecationLevel.HIDDEN)` makes method visibility be dropped - [`KTIJ-18039`](https://youtrack.jetbrains.com/issue/KTIJ-18039) `@Deprecated(level=HIDDEN)` elements return false for isDeprecated() - [`KTIJ-18716`](https://youtrack.jetbrains.com/issue/KTIJ-18716) KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotations - [`KTIJ-20220`](https://youtrack.jetbrains.com/issue/KTIJ-20220) Kotlin plugin crashes very often - [`KTIJ-20308`](https://youtrack.jetbrains.com/issue/KTIJ-20308) Syntax highlighting is temporary suspended for file ... due to internal error - [`KTIJ-6085`](https://youtrack.jetbrains.com/issue/KTIJ-6085) Exception `Incorrect CachedValue...` with KtUltraLightMethodForSourceDeclaration - [`KTIJ-18977`](https://youtrack.jetbrains.com/issue/KTIJ-18977) Do not show warning `Outdated bundled kotlin compiler` if there are no compatible plugin with newer compiler - [`KTIJ-20253`](https://youtrack.jetbrains.com/issue/KTIJ-20253) Consider supporting special highlighting for definitely non-null types - [`KT-42194`](https://youtrack.jetbrains.com/issue/KT-42194) OOME: Java heap space from incremental compilation - [`KTIJ-13019`](https://youtrack.jetbrains.com/issue/KTIJ-13019) "Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloaded ##### IDE. Completion - [`KTIJ-20095`](https://youtrack.jetbrains.com/issue/KTIJ-20095) Optimize FilterOutKotlinSourceFilesScope#contains - [`KTIJ-16250`](https://youtrack.jetbrains.com/issue/KTIJ-16250) Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entries ##### IDE. Debugger - [`KTIJ-20716`](https://youtrack.jetbrains.com/issue/KTIJ-20716) JVM Debugger in common code can't get JVM-specific view on common code and fails - [`KTIJ-18562`](https://youtrack.jetbrains.com/issue/KTIJ-18562) JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression" - [`KTIJ-20019`](https://youtrack.jetbrains.com/issue/KTIJ-20019) MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/Watcher - [`KTIJ-19990`](https://youtrack.jetbrains.com/issue/KTIJ-19990) MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception. - [`KTIJ-20929`](https://youtrack.jetbrains.com/issue/KTIJ-20929) MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common context - [`KTIJ-20956`](https://youtrack.jetbrains.com/issue/KTIJ-20956) Debugger: coroutine debugger fails to load sometimes - [`KTIJ-20775`](https://youtrack.jetbrains.com/issue/KTIJ-20775) MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception. - [`KTIJ-20712`](https://youtrack.jetbrains.com/issue/KTIJ-20712) MPP Debugger: evaluator fails when evaluating expect function - [`KTIJ-19344`](https://youtrack.jetbrains.com/issue/KTIJ-19344) K/N debugger shows all types as ObjHeader in variable view. ##### IDE. Gradle Integration - [`KTIJ-20097`](https://youtrack.jetbrains.com/issue/KTIJ-20097) HMPP+Android Project that depends on pure Android Lib fails to import in IDEA - [`KTIJ-20756`](https://youtrack.jetbrains.com/issue/KTIJ-20756) MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly' - [`KTIJ-20745`](https://youtrack.jetbrains.com/issue/KTIJ-20745) Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20 - [`KT-47570`](https://youtrack.jetbrains.com/issue/KT-47570) MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source sets - [`KTIJ-19541`](https://youtrack.jetbrains.com/issue/KTIJ-19541) IDE: Kotlin Facets aren't created for Gradle projects added via `includeBuild` - [`KT-48882`](https://youtrack.jetbrains.com/issue/KT-48882) MPP IDE import: Failing cinterop Gradle tasks shall not fail import - [`KTIJ-18135`](https://youtrack.jetbrains.com/issue/KTIJ-18135) MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does not ##### IDE. Inspections and Intentions ##### New Features - [`KTIJ-12437`](https://youtrack.jetbrains.com/issue/KTIJ-12437) Add inspection to detect redundant (obsolete, unused) `@OptIn` annotations - [`KTIJ-15780`](https://youtrack.jetbrains.com/issue/KTIJ-15780) Add quickfix for migration of Experimental -> RequiresOptIn - [`KTIJ-18865`](https://youtrack.jetbrains.com/issue/KTIJ-18865) Provide quick fixes for OptIn markers on forbidden targets - [`KTIJ-18439`](https://youtrack.jetbrains.com/issue/KTIJ-18439) Make suggestions for applying opt-in quickfixes more distinct - [`KTIJ-19985`](https://youtrack.jetbrains.com/issue/KTIJ-19985) Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnostic ##### Fixes - [`KTIJ-20550`](https://youtrack.jetbrains.com/issue/KTIJ-20550) False positives in "Unnecessary `@OptIn` annotation" inspection - [`KTIJ-20993`](https://youtrack.jetbrains.com/issue/KTIJ-20993) Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable code - [`KTIJ-20557`](https://youtrack.jetbrains.com/issue/KTIJ-20557) Quick fix to add `Any` as an upper bound for type parameter to make it non-nullable - [`KTIJ-20827`](https://youtrack.jetbrains.com/issue/KTIJ-20827) Process type mismatch compiler warnings to provide a corresponding quick fix - [`KTIJ-12578`](https://youtrack.jetbrains.com/issue/KTIJ-12578) "Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritance - [`KTIJ-20425`](https://youtrack.jetbrains.com/issue/KTIJ-20425) Quick fix to replace `@NotNull` parameter type `T` with a definitely non-nullable type `T & Any` - [`KTIJ-19997`](https://youtrack.jetbrains.com/issue/KTIJ-19997) Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red code - [`KTIJ-18291`](https://youtrack.jetbrains.com/issue/KTIJ-18291) Quickfix "Add `@OptIn()` annotation" adds the annotation to primary constructor when invoked on primary constructor parameter - [`KTIJ-19512`](https://youtrack.jetbrains.com/issue/KTIJ-19512) Implement IDE support for new rules of deprecation inheritance - [`KTIJ-20156`](https://youtrack.jetbrains.com/issue/KTIJ-20156) Exception when applying 'Convert to with' - [`KTIJ-20290`](https://youtrack.jetbrains.com/issue/KTIJ-20290) Forbid "move to constructor" intention if class contains secondary constructor - [`KTIJ-20288`](https://youtrack.jetbrains.com/issue/KTIJ-20288) Forbid "move to constructor" intention for actual classes with actual constructor - [`KT-49736`](https://youtrack.jetbrains.com/issue/KT-49736) Introduce import alias fails when qualifier is unresolved - [`KTIJ-18743`](https://youtrack.jetbrains.com/issue/KTIJ-18743) "Redundant nullable return type" applied on `actual` method doesn't change the signature of `expect` - [`KTIJ-12343`](https://youtrack.jetbrains.com/issue/KTIJ-12343) Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclasses - [`KTIJ-19406`](https://youtrack.jetbrains.com/issue/KTIJ-19406) The "Add `@OptIn(...)`" quick fix does not shorten the annotation when adding an argument to the existing annotation - [`KTIJ-12351`](https://youtrack.jetbrains.com/issue/KTIJ-12351) `generate equals & hashCode() by identity` intention generates incompilable code for multiplatform project modules - [`KTIJ-13227`](https://youtrack.jetbrains.com/issue/KTIJ-13227) Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter already - [`KTIJ-11328`](https://youtrack.jetbrains.com/issue/KTIJ-11328) No quick fixes are suggested for annotation from experimental API used with file target - [`KTIJ-14427`](https://youtrack.jetbrains.com/issue/KTIJ-14427) Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotation - [`KTIJ-19735`](https://youtrack.jetbrains.com/issue/KTIJ-19735) NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin master ##### IDE. Navigation - [`KTIJ-18145`](https://youtrack.jetbrains.com/issue/KTIJ-18145) IDE freeze on 'Show Usage' ##### IDE. Refactorings. Extract Function - [`KTIJ-10026`](https://youtrack.jetbrains.com/issue/KTIJ-10026) Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming from `NotNull` or `Nullable` Java methods - [`KTIJ-15823`](https://youtrack.jetbrains.com/issue/KTIJ-15823) Refactor / Extract Function: resulted declaration gets no `@OptIn` from original function when necessary ##### IDE. Refactorings. Move - [`KTIJ-5661`](https://youtrack.jetbrains.com/issue/KTIJ-5661) \[Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration moving ##### IDE. Wizards - [`KTIJ-19232`](https://youtrack.jetbrains.com/issue/KTIJ-19232) New project wizard: delete MPP Mobile-Library and Application templates - [`KTIJ-20878`](https://youtrack.jetbrains.com/issue/KTIJ-20878) Unable to create project with Kotlin Project Wizard when JDK 17 is used. - [`KTIJ-20244`](https://youtrack.jetbrains.com/issue/KTIJ-20244) Compose MPP project from wizard requires minCompileSdk=31 - [`KTIJ-20781`](https://youtrack.jetbrains.com/issue/KTIJ-20781) Update kotlin-wrappers version in wizard ##### JS. Tools - [`KT-47387`](https://youtrack.jetbrains.com/issue/KT-47387) KJS: Support Apple Silicon for node distrib download ##### JavaScript ##### New Features - [`KT-44494`](https://youtrack.jetbrains.com/issue/KT-44494) KJS / IR: Allow enum classes to be exported - [`KT-43224`](https://youtrack.jetbrains.com/issue/KT-43224) KJS: Allow using inline classes in external types - [`KT-35100`](https://youtrack.jetbrains.com/issue/KT-35100) Make Char inline class in K/JS - [`KT-42936`](https://youtrack.jetbrains.com/issue/KT-42936) KJS IR: Support js-code test directives similar to legacy - [`KT-47525`](https://youtrack.jetbrains.com/issue/KT-47525) KJS / IR: Support protected members in d.ts generation - [`KT-50110`](https://youtrack.jetbrains.com/issue/KT-50110) KJS / IR: Enable properties lazy initialization by default ##### Performance Improvements - [`KT-46443`](https://youtrack.jetbrains.com/issue/KT-46443) KJS / IR: Improve `CharArray` and `Char` performance - [`KT-45665`](https://youtrack.jetbrains.com/issue/KT-45665) KJS / IR: `equals` on inline value classes is boxed - [`KT-43644`](https://youtrack.jetbrains.com/issue/KT-43644) KJS / IR: Avoid creating lambda classes ##### Fixes - [`KT-51685`](https://youtrack.jetbrains.com/issue/KT-51685) KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2 - [`KT-51523`](https://youtrack.jetbrains.com/issue/KT-51523) KJS IR: "Uncaught TypeError: a.\_get_length\_\_2347802853\_w7ahp7\_k$ is not a function" - [`KT-51700`](https://youtrack.jetbrains.com/issue/KT-51700) KJS / IR: Compiler uses wrong function with List<List> - [`KT-51222`](https://youtrack.jetbrains.com/issue/KT-51222) KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with [@&#8203;JsExport](https://github.com/JsExport) are broken - [`KT-45054`](https://youtrack.jetbrains.com/issue/KT-45054) KJS: Export secondary constructors as class static methods - [`KT-37916`](https://youtrack.jetbrains.com/issue/KT-37916) KJS: .d.ts generation not working for enum classes - [`KT-48199`](https://youtrack.jetbrains.com/issue/KT-48199) KJS / IR: Improve error message for linkage problems - [`KT-51030`](https://youtrack.jetbrains.com/issue/KT-51030) KJS / IR: internal class that implements public interface is missing getters - [`KT-45434`](https://youtrack.jetbrains.com/issue/KT-45434) KJS: "WRONG_EXPORTED_DECLARATION" when using `JsExport` on interfaces - [`KT-50934`](https://youtrack.jetbrains.com/issue/KT-50934) KJS / IR: Re-export all JS-exports from the main module for the multi-module mode - [`KT-45620`](https://youtrack.jetbrains.com/issue/KT-45620) KJS / IR: Remainder of division of `Int.MIN_VALUE` by -1 is negative zero (-0) - [`KT-44981`](https://youtrack.jetbrains.com/issue/KT-44981) KJS / IR crashes on `kotlin.js.js` calls with complex constexpr - [`KT-41964`](https://youtrack.jetbrains.com/issue/KT-41964) KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedly - [`KT-50682`](https://youtrack.jetbrains.com/issue/KT-50682) Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializers - [`KT-50175`](https://youtrack.jetbrains.com/issue/KT-50175) Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazy - [`KT-40236`](https://youtrack.jetbrains.com/issue/KT-40236) KJS: IR. Invalid override for external field with `@JsName` - [`KT-46525`](https://youtrack.jetbrains.com/issue/KT-46525) KJS / IR: Generate context-dependent names for lambdas and object expressions - [`KT-49779`](https://youtrack.jetbrains.com/issue/KT-49779) KJS / IR: Exported abstract class implementing interface not export interfaces member in d.ts - [`KT-49773`](https://youtrack.jetbrains.com/issue/KT-49773) KJS / IR: Exported enum implementing interface - [`KT-41912`](https://youtrack.jetbrains.com/issue/KT-41912) KJS / IR: generates invalid defineProperty methods for class hierarchies - [`KT-46225`](https://youtrack.jetbrains.com/issue/KT-46225) KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile time - [`KT-50528`](https://youtrack.jetbrains.com/issue/KT-50528) Kotlin/JS: IR + IC: TypeError: "combined.get_icpjjy_k$ is not a function" for code calling `GlobalScope.launch {}` - [`KT-50512`](https://youtrack.jetbrains.com/issue/KT-50512) KJS / IR: IC failed with const val in inline fun - [`KT-49738`](https://youtrack.jetbrains.com/issue/KT-49738) Ensure that [@&#8203;AfterTest](https://github.com/AfterTest) is invoked after the `@Test` function completes for asynchronous tests - [`KT-45542`](https://youtrack.jetbrains.com/issue/KT-45542) KJS / IR: "IllegalStateException" for method with default argument in expect class - [`KT-50464`](https://youtrack.jetbrains.com/issue/KT-50464) KJS IR: Functions with optional parameters and stable names are exported without `@JsExport` - [`KT-43374`](https://youtrack.jetbrains.com/issue/KT-43374) KJS / IR: "class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement" caused by `if-else` expression inside `when` - [`KT-20791`](https://youtrack.jetbrains.com/issue/KT-20791) ushr Behavior differs in Javascript and Java targets - [`KT-49844`](https://youtrack.jetbrains.com/issue/KT-49844) KJS / IR: "IllegalStateException: IrSimpleFunctionSymbolImpl is already bound" with callable reference - [`KT-46961`](https://youtrack.jetbrains.com/issue/KT-46961) KJS / IR: "IllegalStateException: Can't find name for declaration" when external object contains enum class - [`KT-43191`](https://youtrack.jetbrains.com/issue/KT-43191) KJS / IR: static companion field is not static in d.ts - [`KT-39891`](https://youtrack.jetbrains.com/issue/KT-39891) \[KJS / IR] String interpolation and byte shift round Long value - [`KT-50040`](https://youtrack.jetbrains.com/issue/KT-50040) JS IR: "Function must be an accessor of corresponding property" exception on private properties with getter in an exported class - [`KT-49878`](https://youtrack.jetbrains.com/issue/KT-49878) Kotlin/JS, IR: incremental compilation fails with CCE: "class StageController cannot be cast to class WholeWorldStageController" - [`KT-46202`](https://youtrack.jetbrains.com/issue/KT-46202) KJS / IR: "IllegalStateException" on exported value class - [`KT-42039`](https://youtrack.jetbrains.com/issue/KT-42039) KJS / IR: JsQualifier annotation can cause conflicts with built-in functions - [`KT-39364`](https://youtrack.jetbrains.com/issue/KT-39364) KJS: Can't export sealed class/object with subclasses inside the body to typescript definition - [`KT-47360`](https://youtrack.jetbrains.com/issue/KT-47360) KJS / IR: `js()` function with string val - [`KT-47376`](https://youtrack.jetbrains.com/issue/KT-47376) KJS / IR: Incorrect `d.ts` generation for sealed classes - [`KT-47767`](https://youtrack.jetbrains.com/issue/KT-47767) KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealias - [`KT-47342`](https://youtrack.jetbrains.com/issue/KT-47342) KJS / IR: "StackOverflowError" on `InlinerTypeRemapper.remapTypeArguments` - [`KT-46218`](https://youtrack.jetbrains.com/issue/KT-46218) KJS / IR: Incorrect result for local `tailrec` function called from capturing inline lambda - [`KT-45056`](https://youtrack.jetbrains.com/issue/KT-45056) KJS / IR: Inconsistent `ordinal` property value for enum classes - [`KT-47096`](https://youtrack.jetbrains.com/issue/KT-47096) KJS / IR: `Console.log` introduces spaces between each character - [`KT-47516`](https://youtrack.jetbrains.com/issue/KT-47516) KJS / IR: Wrong behavior when trying to access property in enum entry - [`KT-47806`](https://youtrack.jetbrains.com/issue/KT-47806) KJS / IR: "IllegalStateException" with invocation of extension function with generic and lambda parameter on `String.Companion` - [`KT-49225`](https://youtrack.jetbrains.com/issue/KT-49225) KJS: Default value for value class parameter is not considered - [`KT-49326`](https://youtrack.jetbrains.com/issue/KT-49326) KJS / IR: Overridden properties should not be exported - [`KT-49363`](https://youtrack.jetbrains.com/issue/KT-49363) KJS / IR: Nested declarations inside exported object are not exported - [`KT-49300`](https://youtrack.jetbrains.com/issue/KT-49300) KJS: Source map generator leaks source files descriptors when source embedding is enabled - [`KT-40525`](https://youtrack.jetbrains.com/issue/KT-40525) KJS IR: investigate issues with using kotlin-wrappers - [`KT-50197`](https://youtrack.jetbrains.com/issue/KT-50197) KJS IR: using APIs in different packages but with same method name generates clashes - [`KT-45958`](https://youtrack.jetbrains.com/issue/KT-45958) KJS: Line breaks are missing in `js` files after If-expression - [`KT-40213`](https://youtrack.jetbrains.com/issue/KT-40213) KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771 - [`KT-50152`](https://youtrack.jetbrains.com/issue/KT-50152) Kotlin/JS: with incremental compilation browserRun / nodeRun produce no output - [`KT-50315`](https://youtrack.jetbrains.com/issue/KT-50315) Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition" - [`KT-50203`](https://youtrack.jetbrains.com/issue/KT-50203) JS IR BE: new IC for lowerings - [`KT-43250`](https://youtrack.jetbrains.com/issue/KT-43250) KJS / IR: "Can't find name for declaration FUN" with Json#encodeToString as function reference - [`KT-46992`](https://youtrack.jetbrains.com/issue/KT-46992) KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdas - [`KT-49776`](https://youtrack.jetbrains.com/issue/KT-49776) KJS / IR: inliner doesn't handle inner class functions referring outer this - [`KT-49849`](https://youtrack.jetbrains.com/issue/KT-49849) KJS / IR: Access of exported member properties should be by its stable name - [`KT-49850`](https://youtrack.jetbrains.com/issue/KT-49850) KJS / IR: Member properties in exported class should be getter/setter in d.ts ##### Language Design - [`KT-19423`](https://youtrack.jetbrains.com/issue/KT-19423) Script: reference from class to script top-level member is incompilable - [`KT-21197`](https://youtrack.jetbrains.com/issue/KT-21197) Support cross platform common implementations - [`KT-42435`](https://youtrack.jetbrains.com/issue/KT-42435) Prototype multiple receivers - [`KT-48385`](https://youtrack.jetbrains.com/issue/KT-48385) Deprecate confusing grammar in when-with-subject - [`KT-49542`](https://youtrack.jetbrains.com/issue/KT-49542) FIR: Smart cast may lead to inconsistent inference result - [`KT-23727`](https://youtrack.jetbrains.com/issue/KT-23727) Internal declarations from other module in star imports should have lower priority than public declarations from default imports - [`KT-50251`](https://youtrack.jetbrains.com/issue/KT-50251) Support language version 1.3 in Kotlin 1.6.20 - [`KT-17765`](https://youtrack.jetbrains.com/issue/KT-17765) Ambiguity between SAM adapters when one SAM interface is sub type of another - [`KT-10926`](https://youtrack.jetbrains.com/issue/KT-10926) False overload resolution ambiguity when both vararg and collection match - [`KT-41214`](https://youtrack.jetbrains.com/issue/KT-41214) JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes ##### Libraries - [`KT-44089`](https://youtrack.jetbrains.com/issue/KT-44089) Java version checking doesn't work on Android - [`KT-50033`](https://youtrack.jetbrains.com/issue/KT-50033) Some packages of kotlin-stdlib with public API are not exported in module-info - [`KT-48367`](https://youtrack.jetbrains.com/issue/KT-48367) Using `synchronized` on captured object leads to slow JVM execution - [`KT-49721`](https://youtrack.jetbrains.com/issue/KT-49721) KJS: Regex("\b").findAll yields infinite sequence when a zero length match is found before a surrogate pair (e.g. emoji) ##### Native ##### New Features - [`KT-49463`](https://youtrack.jetbrains.com/issue/KT-49463) --dry-run flag for llvm_builder/package.py ##### Fixes - [`KT-51359`](https://youtrack.jetbrains.com/issue/KT-51359) Native: the compiler doesn't work on macOS 12.3 Beta - [`KT-49144`](https://youtrack.jetbrains.com/issue/KT-49144) Kotlin/Native executable early segmentation fault - [`KT-49348`](https://youtrack.jetbrains.com/issue/KT-49348) KONAN_NO\_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGet - [`KT-42500`](https://youtrack.jetbrains.com/issue/KT-42500) KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the path - [`KT-49395`](https://youtrack.jetbrains.com/issue/KT-49395) K/N: After 1.5.20, compiling code including `KSuspendFunction3` to framework leads to "Assertion failed at parametersAssociated" - [`KT-49967`](https://youtrack.jetbrains.com/issue/KT-49967) Kotlin iOS regex issue - [`KT-49873`](https://youtrack.jetbrains.com/issue/KT-49873) Native does not sort Strings correctly - [`KT-49347`](https://youtrack.jetbrains.com/issue/KT-49347) androidNativeArm32 binaries crash when using atomic operations - [`KT-49597`](https://youtrack.jetbrains.com/issue/KT-49597) Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phase - [`KT-49790`](https://youtrack.jetbrains.com/issue/KT-49790) "Undefined symbols" error when linking project with kotest 5.0.0.RC and Kotlin 1.6 ##### Native. Build Infrastructure - [`KT-48625`](https://youtrack.jetbrains.com/issue/KT-48625) Native: distribution doesn't contain sources for kotlin.test ##### Native. C Export - [`KT-47828`](https://youtrack.jetbrains.com/issue/KT-47828) Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabled ##### Native. C and ObjC Import - [`KT-35059`](https://youtrack.jetbrains.com/issue/KT-35059) Better "could not build module" cinterop report - [`KT-49768`](https://youtrack.jetbrains.com/issue/KT-49768) Kotlin/Native: Add -Xoverride-konan-properties to cinterop. ##### Native. ObjC Export - [`KT-47399`](https://youtrack.jetbrains.com/issue/KT-47399) Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnit - [`KT-48282`](https://youtrack.jetbrains.com/issue/KT-48282) Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/Swift - [`KT-46866`](https://youtrack.jetbrains.com/issue/KT-46866) Memory consumption / performance of Kotlin classes with String property in KMP project on iOS Swift ##### Native. Platform Libraries - [`KT-50045`](https://youtrack.jetbrains.com/issue/KT-50045) Kotlin/Native: Re-enable disabled Hypervisor framework - [`KT-47331`](https://youtrack.jetbrains.com/issue/KT-47331) Kotlin/Native: support Xcode 13 SDKs ##### Native. Platforms - [`KT-48078`](https://youtrack.jetbrains.com/issue/KT-48078) Native: Support non-NativeActivity Android executables ##### Native. Runtime - [`KT-48424`](https://youtrack.jetbrains.com/issue/KT-48424) Support resolving source locations using libbacktrace - [`KT-51586`](https://youtrack.jetbrains.com/issue/KT-51586) SIGSEGV on worker7 test - [`KT-50491`](https://youtrack.jetbrains.com/issue/KT-50491) Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager ##### Native. Runtime. Memory - [`KT-50879`](https://youtrack.jetbrains.com/issue/KT-50879) Kotlin/Native: Stabilize Concurrent Sweep GC - [`KT-50948`](https://youtrack.jetbrains.com/issue/KT-50948) Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduled - [`KT-49497`](https://youtrack.jetbrains.com/issue/KT-49497) iOS Swift "runtime assert: Must be positive" and "runtime assert: cycle collector shall only work with single object containers" - [`KT-50026`](https://youtrack.jetbrains.com/issue/KT-50026) Kotlin/Native: Make AtomicReference behave like FreezableAtomicReference with the new MM - [`KT-49013`](https://youtrack.jetbrains.com/issue/KT-49013) Kotlin/Native: Correctly switch thread state to native for spin locks ##### Native. Testing - [`KT-48561`](https://youtrack.jetbrains.com/issue/KT-48561) Test sideEffectInTopLevelInitializerMultiModule fails with new MM ##### Reflection - [`KT-50198`](https://youtrack.jetbrains.com/issue/KT-50198) Reflection: NPE from `kotlin.jvm.internal.Intrinsics.areEqual` with Spock ##### Tools. Android Extensions - [`KT-50784`](https://youtrack.jetbrains.com/issue/KT-50784) kotlin-android-extensions produces unbound symbol under `_$_findViewCache` - [`KT-50627`](https://youtrack.jetbrains.com/issue/KT-50627) NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10 - [`KT-50887`](https://youtrack.jetbrains.com/issue/KT-50887) kotlin-android-extensions plugin breaks when `package` attribute missing from AndroidManifest.xml ##### Tools. CLI - [`KT-51309`](https://youtrack.jetbrains.com/issue/KT-51309) Add JVM target bytecode version 18 - [`KT-48027`](https://youtrack.jetbrains.com/issue/KT-48027) "Module ... cannot be found in the module graph" with module-info in META-INF/versions - [`KT-50695`](https://youtrack.jetbrains.com/issue/KT-50695) Compiling into IR backends with language version 1.3 is not rejected - [`KT-46329`](https://youtrack.jetbrains.com/issue/KT-46329) Deprecated `-Xjvm-default` values are not reported - [`KT-51025`](https://youtrack.jetbrains.com/issue/KT-51025) JVM CLI compiler takes class file from classpath instead of input java source file - [`KT-50889`](https://youtrack.jetbrains.com/issue/KT-50889) AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform with `expectActualLinker=true` flag - [`KT-48417`](https://youtrack.jetbrains.com/issue/KT-48417) CLI: boolean -X arguments accept a value after '=' which is ignored - [`KT-11164`](https://youtrack.jetbrains.com/issue/KT-11164) Allow running class files with '.class' extension in 'kotlin' script - [`KT-46171`](https://youtrack.jetbrains.com/issue/KT-46171) NoClassDefFoundError produced when running kotlin script ##### Tools. Commonizer - [`KT-48568`](https://youtrack.jetbrains.com/issue/KT-48568) \[Commonizer] timespec properties are not commonized in kotlinx.coroutines - [`KT-46257`](https://youtrack.jetbrains.com/issue/KT-46257) MPP: Stdlib included more than once for an enabled hierarchical commonization - [`KT-49735`](https://youtrack.jetbrains.com/issue/KT-49735) \[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets - [`KT-48856`](https://youtrack.jetbrains.com/issue/KT-48856) MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platform - [`KT-48288`](https://youtrack.jetbrains.com/issue/KT-48288) \[Commonizer] platform.posix.timespec.tv_sec not commonized in OKIO - [`KT-47574`](https://youtrack.jetbrains.com/issue/KT-47574) \[Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type arguments - [`KT-48221`](https://youtrack.jetbrains.com/issue/KT-48221) MPP: Too few targets specified if platform test source set depends on main - [`KT-47100`](https://youtrack.jetbrains.com/issue/KT-47100) \[Commonizer] Commonize underlying type-alias types ##### Tools. Compiler Plugins - [`KT-50718`](https://youtrack.jetbrains.com/issue/KT-50718) Unable to serialize an object with a generic field - [`KT-50764`](https://youtrack.jetbrains.com/issue/KT-50764) Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvm - [`KT-46444`](https://youtrack.jetbrains.com/issue/KT-46444) JVM IR, serialization: "AssertionError: No such value argument slot in IrConstructorCallImpl: 0" with KSerializer of ClosedRange<Float> ##### Tools. Daemon - [`KT-47522`](https://youtrack.jetbrains.com/issue/KT-47522) Provide reasonable resolution strategy for OutOfMemoryError during compilation - [`KT-51116`](https://youtrack.jetbrains.com/issue/KT-51116) OOM user-friendly message isn't displayed if there is main exception caused by out of memory ##### Tools. Gradle ##### New Features - [`KT-48620`](https://youtrack.jetbrains.com/issue/KT-48620) Add build information into Gradle build scan - [`KT-41689`](https://youtrack.jetbrains.com/issue/KT-41689) Support statistics for Configuration Cache - [`KT-49299`](https://youtrack.jetbrains.com/issue/KT-49299) Add more flexible way for defining Kotlin compiler execution strategy - [`KT-21056`](https://youtrack.jetbrains.com/issue/KT-21056) Kotlin Gradle Plugin tasks execution should be parallelized by default ##### Performance Improvements - [`KT-50664`](https://youtrack.jetbrains.com/issue/KT-50664) Compile speed regression going from Kotlin 1.5.31 to 1.6.10 for incremental changes when Java class in a dependent child module w/ kapt is modified w/o a method/class signature change - [`KT-48884`](https://youtrack.jetbrains.com/issue/KT-48884) Configuration performance regression in Kotlin Gradle plugin 1.5.30 - [`KT-49782`](https://youtrack.jetbrains.com/issue/KT-49782) Improve compilation task outputs snapshot performance ##### Fixes - [`KT-51501`](https://youtrack.jetbrains.com/issue/KT-51501) Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.6.0-RC when applying Enterprise Plugin from initscript - [`KT-51588`](https://youtrack.jetbrains.com/issue/KT-51588) Restoring from build cache breaks Kotlin incremental compilation - [`KT-50620`](https://youtrack.jetbrains.com/issue/KT-50620) Gradle Kotlin Plugin crashes in CI due to hostname resolving issue - [`KT-49921`](https://youtrack.jetbrains.com/issue/KT-49921) Setup basic release performance regression tests - [`KT-51177`](https://youtrack.jetbrains.com/issue/KT-51177) After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource change - [`KT-48134`](https://youtrack.jetbrains.com/issue/KT-48134) Debug log level causes build cache miss - [`KT-50719`](https://youtrack.jetbrains.com/issue/KT-50719) Kotlin Gradle Plugin may hang on writing statistics - [`KT-48849`](https://youtrack.jetbrains.com/issue/KT-48849) Cache miss due to empty directories in `KotlinCompile` inputs - [`KT-49014`](https://youtrack.jetbrains.com/issue/KT-49014) Disable Explicit API is not possible - [`KT-48408`](https://youtrack.jetbrains.com/issue/KT-48408) Build may fail with strict JVM target validation mode when project has no Kotlin sources - [`KT-49107`](https://youtrack.jetbrains.com/issue/KT-49107) Configuration cache: undeclared kotlin.caching.enabled system property read - [`KT-50369`](https://youtrack.jetbrains.com/issue/KT-50369) Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property - [`KT-48046`](https://youtrack.jetbrains.com/issue/KT-48046) Gradle Throws Exception From Kotlin Plugin: `destinationDir must not be null` - [`KT-50037`](https://youtrack.jetbrains.com/issue/KT-50037) Kotlin compile task registers more than one task action and their order of execution is counter-intuitive - [`KT-49772`](https://youtrack.jetbrains.com/issue/KT-49772) Kotlin in-process compilation does not release file handles - [`KT-47215`](https://youtrack.jetbrains.com/issue/KT-47215) KJS: "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" when running `kotlinNpmInstall` or `rootPackageJson` locally - [`KT-46406`](https://youtrack.jetbrains.com/issue/KT-46406) Remove 'kotlin.parallel.tasks.in.project' build property ##### Tools. Gradle. JS ##### Performance Improvements - [`KT-49037`](https://youtrack.jetbrains.com/issue/KT-49037) KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemon ##### Fixes - [`KT-51060`](https://youtrack.jetbrains.com/issue/KT-51060) KJS / IR: Incorrect order of libraries with IC - [`KT-49061`](https://youtrack.jetbrains.com/issue/KT-49061) KJS / Gradle: Custom package.json handlers break configuration cache - [`KT-35640`](https://youtrack.jetbrains.com/issue/KT-35640) Kotlin/JS: Gradle: DCE `devMode = true` setting has no effect on incremental build - [`KT-49095`](https://youtrack.jetbrains.com/issue/KT-49095) KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in project - [`KT-49253`](https://youtrack.jetbrains.com/issue/KT-49253) KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs' - [`KT-49902`](https://youtrack.jetbrains.com/issue/KT-49902) Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scripts - [`KT-49808`](https://youtrack.jetbrains.com/issue/KT-49808) KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuse - [`KT-49530`](https://youtrack.jetbrains.com/issue/KT-49530) KJS: Update Node.JS and Yarn - [`KT-50930`](https://youtrack.jetbrains.com/issue/KT-50930) KJS / IR: Incremental compilation cache building not consider multiple artifacts - [`KT-50485`](https://youtrack.jetbrains.com/issue/KT-50485) KJS / IR: Enable per-module by default - [`KT-49445`](https://youtrack.jetbrains.com/issue/KT-49445) KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0 - [`KT-38040`](https://youtrack.jetbrains.com/issue/KT-38040) Make Chrome Headless use "--no-sandbox" (configurable) - for Docker ##### Tools. Gradle. Multiplatform - [`KT-46198`](https://youtrack.jetbrains.com/issue/KT-46198) \[Commonizer] c-interop commonization: Support publishing libraries compiled with commonized c-interop libraries - [`KT-41641`](https://youtrack.jetbrains.com/issue/KT-41641) MPP: NoSuchElementException: "Collection is empty" when android library is added but `android()` source set isn't - [`KT-50567`](https://youtrack.jetbrains.com/issue/KT-50567) commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to true - [`KT-50592`](https://youtrack.jetbrains.com/issue/KT-50592) \[Gradle]\[MPP] Mitigate isolated KGP classpath issues - [`KT-51176`](https://youtrack.jetbrains.com/issue/KT-51176) CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp - [`KT-49089`](https://youtrack.jetbrains.com/issue/KT-49089) An annotation class annotated with [@&#8203;OptionalExpectation](https://github.com/OptionalExpectation) can not be used in another module with HMPP enabled - [`KT-48818`](https://youtrack.jetbrains.com/issue/KT-48818) False positive warning about used `enableDependencyPropagation` flag with enabled hierarchical mpp by default - [`KT-49596`](https://youtrack.jetbrains.com/issue/KT-49596) Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata file - [`KT-41823`](https://youtrack.jetbrains.com/issue/KT-41823) Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadata - [`KT-50574`](https://youtrack.jetbrains.com/issue/KT-50574) Only enable cinterop metadata transformation when 'kotlin.mpp.enableCInteropCommonization' is set ##### Tools. Gradle. Native ##### New Features - [`KT-47633`](https://youtrack.jetbrains.com/issue/KT-47633) Accept version when configuring cocoapods for kotlin/native - [`KT-42630`](https://youtrack.jetbrains.com/issue/KT-42630) CocoaPods Gradle plugin: Allow customization of podspec properties - [`KT-48553`](https://youtrack.jetbrains.com/issue/KT-48553) Kotlin/Native: use Gradle Shared Build Service to read konan.properties - [`KT-47529`](https://youtrack.jetbrains.com/issue/KT-47529) Read list of opt-in cacheable native targets from konan.properties ##### Fixes - [`KT-49330`](https://youtrack.jetbrains.com/issue/KT-49330) commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension" - [`KT-49484`](https://youtrack.jetbrains.com/issue/KT-49484) Kotlin/Native: XCFramework should include dSYM files for release artifacts - [`KT-47768`](https://youtrack.jetbrains.com/issue/KT-47768) Gradle MPP plugin: K/N targets break task configuration avoidance for assemble task - [`KT-49971`](https://youtrack.jetbrains.com/issue/KT-49971) Make 'embedAndSignAppleFrameworkForXcode' task visible for users - [`KT-43815`](https://youtrack.jetbrains.com/issue/KT-43815) \[CocoaPods Plugin] Pod name cannot be changed - [`KT-50105`](https://youtrack.jetbrains.com/issue/KT-50105) Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel task - [`KT-42105`](https://youtrack.jetbrains.com/issue/KT-42105) Multiplatform Cocoapod kotlin plugin doesn't support repo distribution - [`KT-48808`](https://youtrack.jetbrains.com/issue/KT-48808) XCFramework task fails when using static debug frameworks - [`KT-42755`](https://youtrack.jetbrains.com/issue/KT-42755) Cocoapods plugin using backslashes on Windows ##### Tools. JPS - [`KT-51434`](https://youtrack.jetbrains.com/issue/KT-51434) Language version 1.7 is absent in Kotlin Compiler settings - [`KT-48399`](https://youtrack.jetbrains.com/issue/KT-48399) Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6 - [`KT-49177`](https://youtrack.jetbrains.com/issue/KT-49177) JPS: Kotlin compiler doesn't recompile file that references Java constant in class body - [`KT-46506`](https://youtrack.jetbrains.com/issue/KT-46506) JPS: Kotlin compiler doesn't recompile file that references Java constant - [`KT-47909`](https://youtrack.jetbrains.com/issue/KT-47909) UtilsKt.recordPackageLookup is slow - [`KT-47857`](https://youtrack.jetbrains.com/issue/KT-47857) Class loaders clash when building kotlin project with FIR with JPS without daemon - [`KT-45773`](https://youtrack.jetbrains.com/issue/KT-45773) Improve quality of JPS incremental compilation ##### Tools. Kapt - [`KT-41456`](https://youtrack.jetbrains.com/issue/KT-41456) Kotlin compilation failure after successful kapt causes invalid incremental builds - [`KT-48402`](https://youtrack.jetbrains.com/issue/KT-48402) Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30 - [`KT-48617`](https://youtrack.jetbrains.com/issue/KT-48617) Cache miss due to empty directories in KaptGenerateStubsTask inputs - [`KT-48450`](https://youtrack.jetbrains.com/issue/KT-48450) Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask\` - [`KT-32596`](https://youtrack.jetbrains.com/issue/KT-32596) kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation - [`KT-48826`](https://youtrack.jetbrains.com/issue/KT-48826) Deprecate 'kapt.use.worker.api' property - [`KT-47002`](https://youtrack.jetbrains.com/issue/KT-47002) Kapt: warning mentions non-effective property `kapt.includeCompileClasspath` ##### Tools. Maven - [`KT-50306`](https://youtrack.jetbrains.com/issue/KT-50306) Configured plugin dependencies should be available in kotlin-maven-plugin scripts ##### Tools. Parcelize - [`KT-19853`](https://youtrack.jetbrains.com/issue/KT-19853) Parcelize: CREATOR field should be available from code ##### Tools. REPL - [`KT-20488`](https://youtrack.jetbrains.com/issue/KT-20488) REPL: java.lang.InternalError: "Enclosing constructor not found" for class reference on an anonymous object literal ##### Tools. Scripts - [`KT-48758`](https://youtrack.jetbrains.com/issue/KT-48758) Kotlin scripting: introduce a link from evaluation configuration to the compilation one - [`KT-48414`](https://youtrack.jetbrains.com/issue/KT-48414) Script: get location of the script.main.kts file - [`KT-40497`](https://youtrack.jetbrains.com/issue/KT-40497) “Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6.” for running script without specified jvm-target - [`KT-49329`](https://youtrack.jetbrains.com/issue/KT-49329) Kotlin scripts are compiled with jvmTarget 1.8 by default and in many scenarios there is no way to redefine it, which lead to inlining errors e.g. with JDK 17 ##### Tools. Wasm - [`KT-49893`](https://youtrack.jetbrains.com/issue/KT-49893) Don't publish wasm targets with `org.jetbrains.kotlin.js.compiler` attribute | File | Sha256 | | --- | --- | | kotlin-compiler-1.6.20.zip | daf17db1c194f4205f3af67129367a69b388f819177963dc53a7b4b2c4d8ce22 | | kotlin-native-linux-x86\_64-1.6.20.tar.gz | d967d6fd87056177ec520b00eee23b994389a1eb486c000af39d2d2fbbfbf3be | | kotlin-native-macos-x86\_64-1.6.20.tar.gz | b53f93258b7ffe4b09e38cd6a5d87aed42a5d0f6f0fba6417e666e6ee12477f1 | | kotlin-native-macos-aarch64-1.6.20.tar.gz | 3c86d8388d986005095a57e7c58ea6237ac4915ab238feb5613c89fd9a335b6a | | kotlin-native-windows-x86\_64-1.6.20.zip | 241f40852388c51da303931e5c7a4f4c86adca8510d0bd7479b7ac65ce86e3cc | ### [`v1.6.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.6.10): Kotlin 1.6.10 ##### Changelog ##### Android - [`KT-49798`](https://youtrack.jetbrains.com/issue/KT-49798) \[MPP] \[Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute ##### Compiler ##### Performance Improvements - [`KT-49821`](https://youtrack.jetbrains.com/issue/KT-49821) Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter ##### Fixes - [`KT-49833`](https://youtrack.jetbrains.com/issue/KT-49833) java.lang.NullPointerException caused by accidental newline in package directive - [`KT-49838`](https://youtrack.jetbrains.com/issue/KT-49838) Type inference fails on 1.6.0: Cannot use 'CapturedType(\*)' as reified type parameter - [`KT-49752`](https://youtrack.jetbrains.com/issue/KT-49752) Regression in method return type inference: "IllegalStateException: Expected some types" - [`KT-49876`](https://youtrack.jetbrains.com/issue/KT-49876) Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0 - [`KT-49792`](https://youtrack.jetbrains.com/issue/KT-49792) Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function - [`KT-49834`](https://youtrack.jetbrains.com/issue/KT-49834) Coroutine method transformer generates invalid locals table. - [`KT-49441`](https://youtrack.jetbrains.com/issue/KT-49441) Support friend modules in Kotlin Native - [`KT-49248`](https://youtrack.jetbrains.com/issue/KT-49248) K/N: Symbol with `IrSimpleFunctionSymbolImpl` is unbound after 1.5.30 - [`KT-49651`](https://youtrack.jetbrains.com/issue/KT-49651) Inconsistent compiler APIs for repeatable annotations - [`KT-49168`](https://youtrack.jetbrains.com/issue/KT-49168) JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method - [`KT-49573`](https://youtrack.jetbrains.com/issue/KT-49573) No annotated types, compiler emits "Annotated types are not supported in typeOf" - [`KT-47192`](https://youtrack.jetbrains.com/issue/KT-47192) Build Fake Overrides for internal members of classes from friend module - [`KT-48673`](https://youtrack.jetbrains.com/issue/KT-48673) IR: IllegalStateException for usage of internal member declared in a superclass in another module ##### JavaScript - [`KT-47811`](https://youtrack.jetbrains.com/issue/KT-47811) KJS / IR: "ClassCastException" when using suspend function in `console.log` ##### Language Design - [`KT-49868`](https://youtrack.jetbrains.com/issue/KT-49868) Support language version 1.3 in Kotlin 1.6.10 ##### Libraries - [`KT-50173`](https://youtrack.jetbrains.com/issue/KT-50173) Different behavior of Regex escapeReplacement function in JVM and JS ##### Tools. Android Extensions - [`KT-49799`](https://youtrack.jetbrains.com/issue/KT-49799) NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0 ##### Tools. Compiler Plugins - [`KT-50005`](https://youtrack.jetbrains.com/issue/KT-50005) jvm-abi-gen plugin: do not change the declaration order in generated jars - [`KT-49726`](https://youtrack.jetbrains.com/issue/KT-49726) JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter ##### Tools. Gradle - [`KT-49835`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-49910) Incremental compilation speed regression in 1.6.0 for Android projects ##### Tools. Gradle. JS - [`KT-49109`](https://youtrack.jetbrains.com/issue/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`](https://youtrack.jetbrains.com/issue/KT-50135) KJS: Problem with Yarn install with scripts on Windows - [`KT-34014`](https://youtrack.jetbrains.com/issue/KT-34014) Gradle, JS: Ability to persist / reuse yarn.lock - [`KT-49505`](https://youtrack.jetbrains.com/issue/KT-49505) KJS / IR: Installation of NPM dependencies should be with ignore-scripts ##### Tools. Gradle. Native - [`KT-49931`](https://youtrack.jetbrains.com/issue/KT-49931) Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program "pod" - [`KT-49771`](https://youtrack.jetbrains.com/issue/KT-49771) podInstall task is not executed after adding a pod dependency to the shared module ##### Tools. Incremental Compile - [`KT-49822`](https://youtrack.jetbrains.com/issue/KT-49822) Incremental compilation state is modified when the build fails in Kotlin 1.6 - [`KT-49340`](https://youtrack.jetbrains.com/issue/KT-49340) "IllegalStateException: `@NotNull` method org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.6.10.zip | 432267996d0d6b4b17ca8de0f878e44d4a099b7e9f1587a98edc4d27e76c215a | | kotlin-native-linux-x86\_64-1.6.10.tar.gz | 9b42bd16b6accf009ea4cc8dc786dece079af55b6a637fecc1e8c1f4c0614d08 | | kotlin-native-macos-x86\_64-1.6.10.tar.gz | 607729bbd963d35e7df85647a8d01f25ae3112b1537edaababebc399cb8d4806 | | kotlin-native-macos-aarch64-1.6.10.tar.gz | b4fc9e179540b4dc7de7b3a5a3548dad62b1247acc3e143305d13c4194cbca25 | | kotlin-native-windows-x86\_64-1.6.10.zip | 78b746551f58022727add4c609d7f42802b3ffc3d8163517b708a8c3355d33c1 | ### [`v1.6.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.6.0): Kotlin 1.6.0 ##### Changelog ##### Android - [`KT-48019`](https://youtrack.jetbrains.com/issue/KT-48019) Bundle Kotlin Tooling Metadata into apk artifacts - [`KT-47733`](https://youtrack.jetbrains.com/issue/KT-47733) JVM / IR: Android Synthetic don't generate \_findCachedViewById function ##### Compiler ##### New Features - [`KT-47984`](https://youtrack.jetbrains.com/issue/KT-47984) In-place arguments inlining for [@&#8203;InlineOnly](https://github.com/InlineOnly) functions - [`KT-12794`](https://youtrack.jetbrains.com/issue/KT-12794) Allow runtime retention repeatable annotations when compiling under Java 8 - [`KT-43714`](https://youtrack.jetbrains.com/issue/KT-43714) Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER) - [`KT-45949`](https://youtrack.jetbrains.com/issue/KT-45949) Kotlin/Native: Improve bound check elimination - [`KT-43919`](https://youtrack.jetbrains.com/issue/KT-43919) Support loading Java annotations on base classes and implementing interfaces' type arguments - [`KT-48194`](https://youtrack.jetbrains.com/issue/KT-48194) Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotation - [`KT-47736`](https://youtrack.jetbrains.com/issue/KT-47736) Support conversion from regular functional types to suspending ones in JVM IR - [`KT-39055`](https://youtrack.jetbrains.com/issue/KT-39055) Support property delegate created via synthetic method instead of field ##### Performance Improvements - [`KT-45185`](https://youtrack.jetbrains.com/issue/KT-45185) FIR2IR: get rid of IrBuiltIns usages - [`KT-47918`](https://youtrack.jetbrains.com/issue/KT-47918) JVM / IR: Performance degradation with const-bound for-cycles - [`KT-33835`](https://youtrack.jetbrains.com/issue/KT-33835) Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullable - [`KT-41510`](https://youtrack.jetbrains.com/issue/KT-41510) Compilation of kotlin html DSL is still too slow - [`KT-48211`](https://youtrack.jetbrains.com/issue/KT-48211) We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declaration - [`KT-39054`](https://youtrack.jetbrains.com/issue/KT-39054) Optimize delegated properties which call get/set on the given KProperty instance on JVM - [`KT-46615`](https://youtrack.jetbrains.com/issue/KT-46615) Don't generate nullability assertions in methods for directly invoked lambdas ##### Fixes - [`KT-49613`](https://youtrack.jetbrains.com/issue/KT-49613) JVM / IR: "Exception during IR lowering" with java fun interface and it's non-trivial usage - [`KT-49548`](https://youtrack.jetbrains.com/issue/KT-49548) "ClassCastException: java.util.ArrayList$Itr cannot be cast to kotlin.collections.IntIterator" with Iterable inside `let` - [`KT-22562`](https://youtrack.jetbrains.com/issue/KT-22562) Deprecate calls to "suspend" named functions with single dangling lambda argument - [`KT-47120`](https://youtrack.jetbrains.com/issue/KT-47120) JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same name - [`KT-49477`](https://youtrack.jetbrains.com/issue/KT-49477) Has ran into recursion problem with two interdependant delegates - [`KT-49442`](https://youtrack.jetbrains.com/issue/KT-49442) ClassCastException on reporting \[EXPOSED_FROM_PRIVATE_IN_FILE] Deprecation: private-in-file class should not expose 'private-in-class' - [`KT-49371`](https://youtrack.jetbrains.com/issue/KT-49371) JVM / IR: "NoSuchMethodError" with multiple inheritance - [`KT-44843`](https://youtrack.jetbrains.com/issue/KT-44843) PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with delegate who has name or parameter with the same name as a property - [`KT-49294`](https://youtrack.jetbrains.com/issue/KT-49294) Turning FlowCollector into 'fun interface' leads to AbstractMethodError - [`KT-18282`](https://youtrack.jetbrains.com/issue/KT-18282) Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyError - [`KT-25289`](https://youtrack.jetbrains.com/issue/KT-25289) Prohibit access to class members in the super constructor call of its companion and nested object - [`KT-32753`](https://youtrack.jetbrains.com/issue/KT-32753) Prohibit [@&#8203;JvmField](https://github.com/JvmField) on property in primary constructor that overrides interface property - [`KT-43433`](https://youtrack.jetbrains.com/issue/KT-43433) `Suspend conversion is disabled` message in cases where it is not supported and quickfix to update language version is suggested - [`KT-49399`](https://youtrack.jetbrains.com/issue/KT-49399) Building repeatable annotation with Container nested class fails with ISE: "Repeatable annotation class should have a container generated" - [`KT-49209`](https://youtrack.jetbrains.com/issue/KT-49209) Default upper bound for type variables should be non-null - [`KT-49335`](https://youtrack.jetbrains.com/issue/KT-49335) NPE in `RepeatedAnnotationLowering.wrapAnnotationEntriesInContainer` when using `@Repeatable` annotation from different file - [`KT-48876`](https://youtrack.jetbrains.com/issue/KT-48876) java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@[`4a729df`](https://github.com/JetBrains/kotlin/commit/4a729df2) - [`KT-48131`](https://youtrack.jetbrains.com/issue/KT-48131) IAE "Repeatable annotation container value must be a class reference" on using Kotlin-repeatable annotation from dependency - [`KT-49322`](https://youtrack.jetbrains.com/issue/KT-49322) Postpone promoting warnings to errors for `ProperTypeInferenceConstraintsProcessing` feature - [`KT-49285`](https://youtrack.jetbrains.com/issue/KT-49285) Exception on nested builder inference calls - [`KT-49101`](https://youtrack.jetbrains.com/issue/KT-49101) IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number) - [`KT-41378`](https://youtrack.jetbrains.com/issue/KT-41378) Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null\[0] is not found - [`KT-47285`](https://youtrack.jetbrains.com/issue/KT-47285) IR deserialization exception when dependency KLIB has class instead of typealias - [`KT-46697`](https://youtrack.jetbrains.com/issue/KT-46697) IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null\[0] compiling KMM module for Kotlin/Native with Kotlin 1.5 - [`KT-36399`](https://youtrack.jetbrains.com/issue/KT-36399) Gradually support TYPE_USE nullability annotations read from class-files - [`KT-11454`](https://youtrack.jetbrains.com/issue/KT-11454) Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files - [`KT-18768`](https://youtrack.jetbrains.com/issue/KT-18768) `@Notnull` annotation from Java does not work with varargs - [`KT-24392`](https://youtrack.jetbrains.com/issue/KT-24392) Nullability of Java arrays is read incorrectly if `@Nullable` annotation has both targets TYPE_USE and VALUE_PARAMETER - [`KT-48157`](https://youtrack.jetbrains.com/issue/KT-48157) FIR: incorrect resolve with built-in names in use - [`KT-46409`](https://youtrack.jetbrains.com/issue/KT-46409) FIR: erroneous resolve to qualifier instead of extension - [`KT-44566`](https://youtrack.jetbrains.com/issue/KT-44566) `FirConflictsChecker` do not check for conflicting overloads across multiple files - [`KT-37318`](https://youtrack.jetbrains.com/issue/KT-37318) FIR: Discuss treating flexible bounded constraints in inference - [`KT-45989`](https://youtrack.jetbrains.com/issue/KT-45989) FIR: wrong callable reference type inferred - [`KT-46058`](https://youtrack.jetbrains.com/issue/KT-46058) \[FIR] Remove state from some checkers - [`KT-45973`](https://youtrack.jetbrains.com/issue/KT-45973) FIR: wrong projection type inferred - [`KT-43083`](https://youtrack.jetbrains.com/issue/KT-43083) \[FIR] False positive 'HIDDEN' on internal - [`KT-48794`](https://youtrack.jetbrains.com/issue/KT-48794) Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferred - [`KT-46727`](https://youtrack.jetbrains.com/issue/KT-46727) Report warning on contravariant usages of star projected argument from Java - [`KT-40668`](https://youtrack.jetbrains.com/issue/KT-40668) FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopes - [`KT-37081`](https://youtrack.jetbrains.com/issue/KT-37081) \[FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absence - [`KT-48162`](https://youtrack.jetbrains.com/issue/KT-48162) NON_VARARG_SPREAD isn't reported on \*toTypedArray() call - [`KT-45118`](https://youtrack.jetbrains.com/issue/KT-45118) ClassCastException caused by parent and child class in if-else - [`KT-47605`](https://youtrack.jetbrains.com/issue/KT-47605) Kotlin/Native: switch to LLD linker for MinGW targets - [`KT-48912`](https://youtrack.jetbrains.com/issue/KT-48912) K/N `Symbol with IrSimpleFunctionSymbolImpl is unbound` and `JS Validation failed in file shaders.kt` - [`KT-44436`](https://youtrack.jetbrains.com/issue/KT-44436) Support default not null annotations to enhance T into T!! - [`KT-49190`](https://youtrack.jetbrains.com/issue/KT-49190) Increase stub versions - [`KT-48261`](https://youtrack.jetbrains.com/issue/KT-48261) "overload resolution ambiguity" for JSpecify+jsr305-annotated Java List implementation - [`KT-48778`](https://youtrack.jetbrains.com/issue/KT-48778) -Xtype-enhancement-improvements-strict-mode not respecting `@NonNull` annotation for property accesses? - [`KT-48606`](https://youtrack.jetbrains.com/issue/KT-48606) \[1.6] Instantiated annotations do not implement hashCode correctly/consistently - [`KT-49157`](https://youtrack.jetbrains.com/issue/KT-49157) Tail-call optimization miss with cast to type parameter - [`KT-46437`](https://youtrack.jetbrains.com/issue/KT-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" expression - [`KT-48590`](https://youtrack.jetbrains.com/issue/KT-48590) IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(\*) reified type class reference - [`KT-48633`](https://youtrack.jetbrains.com/issue/KT-48633) Can't infer builder inference's type argument across local class - [`KT-49136`](https://youtrack.jetbrains.com/issue/KT-49136) JVM IR: NPE with safe call chain and property set to null by reflection - [`KT-48570`](https://youtrack.jetbrains.com/issue/KT-48570) OptIn marker should not spread from class to its members - [`KT-48928`](https://youtrack.jetbrains.com/issue/KT-48928) Prohibit using old JVM backend with language version >= 1.6 - [`KT-41978`](https://youtrack.jetbrains.com/issue/KT-41978) NI: Kotlin fails to infer type of function argument - [`KT-48101`](https://youtrack.jetbrains.com/issue/KT-48101) Smart cast on base class property is impossible if base class is from another module - [`KT-48732`](https://youtrack.jetbrains.com/issue/KT-48732) JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registered - [`KT-47841`](https://youtrack.jetbrains.com/issue/KT-47841) Turning LV to 1.6 breaks some diagnostics based on jspecify annotations - [`KT-48498`](https://youtrack.jetbrains.com/issue/KT-48498) JVM IR: IllegalAccessError with inline function call and property delegation from different module - [`KT-48319`](https://youtrack.jetbrains.com/issue/KT-48319) JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous function - [`KT-48835`](https://youtrack.jetbrains.com/issue/KT-48835) Psi2ir: vararg parameter value is lost when translating adapted function reference to base class member - [`KT-46908`](https://youtrack.jetbrains.com/issue/KT-46908) JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional type - [`KT-48927`](https://youtrack.jetbrains.com/issue/KT-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 function - [`KT-48992`](https://youtrack.jetbrains.com/issue/KT-48992) Postpone migration to new operator resolution scheme for integer literals - [`KT-48290`](https://youtrack.jetbrains.com/issue/KT-48290) Type bounds warning based on Java annotations not issues with language level 1.6 - [`KT-47920`](https://youtrack.jetbrains.com/issue/KT-47920) There is no warning on violated nullability of type parameter in accordance with java nullability annotation - [`KT-41664`](https://youtrack.jetbrains.com/issue/KT-41664) Remove the "runtime JAR files in the classpath should have the same version" warning - [`KT-48851`](https://youtrack.jetbrains.com/issue/KT-48851) Keep using warn mode for jspecify in 1.6 - [`KT-46829`](https://youtrack.jetbrains.com/issue/KT-46829) IR: NullPointerException caused by setting scoped generic extension var - [`KT-42972`](https://youtrack.jetbrains.com/issue/KT-42972) Forbid protected constructor calls from public inline functions - [`KT-45378`](https://youtrack.jetbrains.com/issue/KT-45378) Prohibit super calls in public-api inline functions - [`KT-48515`](https://youtrack.jetbrains.com/issue/KT-48515) JSpecify: If a class has a `@Nullable` type-parameter bound, Kotlin should still treat unbounded wildcards like platform types - [`KT-48825`](https://youtrack.jetbrains.com/issue/KT-48825) JVM IR: NPE with delegated property "by this" to base class - [`KT-48535`](https://youtrack.jetbrains.com/issue/KT-48535) Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning - [`KT-47928`](https://youtrack.jetbrains.com/issue/KT-47928) Prohibit declarations of repeatable annotation classes whose container annotation violates JLS - [`KT-47971`](https://youtrack.jetbrains.com/issue/KT-47971) Report error on declaration of a repeatable annotation class with nested class named Container - [`KT-48478`](https://youtrack.jetbrains.com/issue/KT-48478) JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuation - [`KT-48523`](https://youtrack.jetbrains.com/issue/KT-48523) Kotlin/Native: cross-compilation from Linux to MinGW not working when `platform.posix` is used - [`KT-48671`](https://youtrack.jetbrains.com/issue/KT-48671) JVM / IR: "AssertionError: Primitive array expected: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS" - [`KT-46181`](https://youtrack.jetbrains.com/issue/KT-46181) JVM IR: private [@&#8203;JvmStatic](https://github.com/JvmStatic) function is generated in the outer class instead of companion object, which breaks existing calls via JNI or reflection (e.g. JUnit [@&#8203;MethodSource](https://github.com/MethodSource)) - [`KT-48736`](https://youtrack.jetbrains.com/issue/KT-48736) JVM IR: assert in SyntheticAccessorLowering when inline function attempts to access package-private field from Java - [`KT-48653`](https://youtrack.jetbrains.com/issue/KT-48653) Warnings on non-exhaustive when statements missing in some cases with 1.6 - [`KT-48394`](https://youtrack.jetbrains.com/issue/KT-48394) JVM: Invalid locals caused by unboxing bytecode optimization - [`KT-20542`](https://youtrack.jetbrains.com/issue/KT-20542) IllegalAccessError on calling private function with default parameters from internal inline function used in another package - [`KT-48331`](https://youtrack.jetbrains.com/issue/KT-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 parameter - [`KT-48380`](https://youtrack.jetbrains.com/issue/KT-48380) kotlin.RuntimeException: Unexpected receiver type - [`KT-47855`](https://youtrack.jetbrains.com/issue/KT-47855) Kotlin/Native: compilation fails due to Escape Analysis - [`KT-48291`](https://youtrack.jetbrains.com/issue/KT-48291) False positive \[ACTUAL_MISSING] Declaration must be marked with 'actual' when implementing actual interface - [`KT-48445`](https://youtrack.jetbrains.com/issue/KT-48445) "IAE: Top level call context should not be null to analyze coroutine-lambda" when compiling Kotlin with language version 1.6 - [`KT-48618`](https://youtrack.jetbrains.com/issue/KT-48618) Enable by default "suspend conversion" feature in 1.6 - [`KT-47638`](https://youtrack.jetbrains.com/issue/KT-47638) Drop EXPERIMENTAL_IS_NOT_ENABLED diagnostic - [`KT-48589`](https://youtrack.jetbrains.com/issue/KT-48589) KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projects - [`KT-48615`](https://youtrack.jetbrains.com/issue/KT-48615) Inconsistent behavior with integer literals overflow (Implementation) - [`KT-47937`](https://youtrack.jetbrains.com/issue/KT-47937) Implement deprecation of computing constant values of complex boolean expressions in when condition branches and conditions of loops - [`KT-48391`](https://youtrack.jetbrains.com/issue/KT-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 val - [`KT-48552`](https://youtrack.jetbrains.com/issue/KT-48552) Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139 - [`KT-46182`](https://youtrack.jetbrains.com/issue/KT-46182) Native: prohibit using dots in identifiers - [`KT-46230`](https://youtrack.jetbrains.com/issue/KT-46230) JVM IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER" with value class overriding function with default parameter - [`KT-48302`](https://youtrack.jetbrains.com/issue/KT-48302) FIR: Investigate not-null assertion on generic Java method - [`KT-48350`](https://youtrack.jetbrains.com/issue/KT-48350) JVM IR: NPE from LocalDeclarationsLowering on property reference with field from outer class used as receiver (1.6.0-M1 regression) - [`KT-48500`](https://youtrack.jetbrains.com/issue/KT-48500) AE: "Last parameter type of suspend function must be Continuation, but it is kotlin.coroutines.experimental.Continuation" for `kotlin-stdlib-common` library - [`KT-48469`](https://youtrack.jetbrains.com/issue/KT-48469) Problem with properties lazy initialization while using kotlinx.serialization plugin - [`KT-48432`](https://youtrack.jetbrains.com/issue/KT-48432) Regression in IntRange.contains (and probably other ranges too) when used in-place - [`KT-44855`](https://youtrack.jetbrains.com/issue/KT-44855) "AssertionError: SyntheticAccessorLowering should not attempt to modify other files" on smart cast of protected field owner - [`KT-47542`](https://youtrack.jetbrains.com/issue/KT-47542) Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeException - [`KT-48166`](https://youtrack.jetbrains.com/issue/KT-48166) FIR: incorrect common supertype for PSI elements hierarchy - [`KT-47499`](https://youtrack.jetbrains.com/issue/KT-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 function - [`KT-46451`](https://youtrack.jetbrains.com/issue/KT-46451) JVM Debugging: stepping on finally block end brace line before stepping into finally code - [`KT-48329`](https://youtrack.jetbrains.com/issue/KT-48329) It's impossible to infer a type variables based on several builder inference lambdas - [`KT-48193`](https://youtrack.jetbrains.com/issue/KT-48193) Don't use the builder inference for calls which can be resolved without it - [`KT-46450`](https://youtrack.jetbrains.com/issue/KT-46450) JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on them - [`KT-48298`](https://youtrack.jetbrains.com/issue/KT-48298) FIR: incorrect deserialized annotations in back-end - [`KT-48234`](https://youtrack.jetbrains.com/issue/KT-48234) FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor property - [`KT-48174`](https://youtrack.jetbrains.com/issue/KT-48174) IR interpreter: unsupported compile-time call - [`KT-48158`](https://youtrack.jetbrains.com/issue/KT-48158) FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable references - [`KT-48109`](https://youtrack.jetbrains.com/issue/KT-48109) FIR: incorrect type inference for generic argument of intersection type - [`KT-48161`](https://youtrack.jetbrains.com/issue/KT-48161) FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-null - [`KT-48159`](https://youtrack.jetbrains.com/issue/KT-48159) FIR: erroneous scope order during type resolve of constructor return type - [`KT-48165`](https://youtrack.jetbrains.com/issue/KT-48165) FIR: false positive "initializer should be a constant value" on String.length - [`KT-48175`](https://youtrack.jetbrains.com/issue/KT-48175) FIR: exception for JvmField on local class property - [`KT-48164`](https://youtrack.jetbrains.com/issue/KT-48164) FIR: false positive OVERRIDING_FINAL_MEMBER in enum entry - [`KT-48116`](https://youtrack.jetbrains.com/issue/KT-48116) FIR: false positive NOT_A_LOOP_LABEL - [`KT-48102`](https://youtrack.jetbrains.com/issue/KT-48102) FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functions - [`KT-47911`](https://youtrack.jetbrains.com/issue/KT-47911) Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardware - [`KT-48105`](https://youtrack.jetbrains.com/issue/KT-48105) FIR: generic/specific callable reference ambiguity - [`KT-14392`](https://youtrack.jetbrains.com/issue/KT-14392) Repeated annotation with use site target is not detected for getter and setter - [`KT-47493`](https://youtrack.jetbrains.com/issue/KT-47493) Missed frontend diagnostic in try/catch - [`KT-48058`](https://youtrack.jetbrains.com/issue/KT-48058) "No type for expression" compiler exception on calls with unused lambda - [`KT-47597`](https://youtrack.jetbrains.com/issue/KT-47597) JVM IR: if statement doesn't eval correctly on 1.5.20 possible nullable type differences. - [`KT-47922`](https://youtrack.jetbrains.com/issue/KT-47922) False negative type mismatch on empty when as last statement of lambda - [`KT-34594`](https://youtrack.jetbrains.com/issue/KT-34594) Do not generate fake debugger variables initialization for [@&#8203;InlineOnly](https://github.com/InlineOnly) functions - [`KT-47749`](https://youtrack.jetbrains.com/issue/KT-47749) Incorrect scope of a local variable inside the coroutine - [`KT-47527`](https://youtrack.jetbrains.com/issue/KT-47527) JVM / IR ClassCastException: "kotlin.Unit cannot be cast to java.lang.String" - [`KT-47840`](https://youtrack.jetbrains.com/issue/KT-47840) JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER name: x" in nested local functions with recursive calls - [`KT-46448`](https://youtrack.jetbrains.com/issue/KT-46448) JVM Debugging: Locals in finally blocks not always duplicated when the finally block is - [`KT-47716`](https://youtrack.jetbrains.com/issue/KT-47716) JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally context - [`KT-47762`](https://youtrack.jetbrains.com/issue/KT-47762) JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerException - [`KT-47741`](https://youtrack.jetbrains.com/issue/KT-47741) JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIterator - [`KT-43696`](https://youtrack.jetbrains.com/issue/KT-43696) ClassFormatError on [@&#8203;JvmStatic](https://github.com/JvmStatic) external fun in interface companion object - [`KT-47715`](https://youtrack.jetbrains.com/issue/KT-47715) JVM / IR, R8: External getter cannot be represented in dex format - [`KT-47684`](https://youtrack.jetbrains.com/issue/KT-47684) Add warning on `is` checks which are always false - [`KT-47685`](https://youtrack.jetbrains.com/issue/KT-47685) False positive CAST_NEVER_SUCCEEDS on variable of intersection type - [`KT-32188`](https://youtrack.jetbrains.com/issue/KT-32188) NI: False positive "This cast can never succeed" - [`KT-35687`](https://youtrack.jetbrains.com/issue/KT-35687) NI: Poor cast can never succeed \[CAST_NEVER_SUCCEEDS] - [`KT-41331`](https://youtrack.jetbrains.com/issue/KT-41331) False negative USELESS_IS_CHECK with null - [`KT-47609`](https://youtrack.jetbrains.com/issue/KT-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 parameter - [`KT-47413`](https://youtrack.jetbrains.com/issue/KT-47413) FIR: Rework FirDelegatedScope - [`KT-47492`](https://youtrack.jetbrains.com/issue/KT-47492) Illegal use of DUP ##### Docs & Examples - [`KT-48534`](https://youtrack.jetbrains.com/issue/KT-48534) Wrong compiler argument for RequiresOptIn ##### IDE - [`KT-48604`](https://youtrack.jetbrains.com/issue/KT-48604) MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true ##### IDE. Debugger - [`KT-47970`](https://youtrack.jetbrains.com/issue/KT-47970) AE: "Either library or explicit name have to be provided <built-ins module>" in IR debugger tests ##### IDE. Gradle Integration - [`KT-46273`](https://youtrack.jetbrains.com/issue/KT-46273) MPP: Don't fail import for case of missed platform in source set structure - [`KT-48823`](https://youtrack.jetbrains.com/issue/KT-48823) Improve error reporting on import when configuration phase in Gradle failed - [`KT-48504`](https://youtrack.jetbrains.com/issue/KT-48504) MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flags - [`KT-47463`](https://youtrack.jetbrains.com/issue/KT-47463) MPP: Import fails with `Task 'runCommonizer' not found in root project` if Kotlin configured only in module ##### IDE. Multiplatform - [`KT-47604`](https://youtrack.jetbrains.com/issue/KT-47604) kotlin-stdlib-common leaks into dependencies of Android-specific source sets ##### JavaScript - [`KT-43783`](https://youtrack.jetbrains.com/issue/KT-43783) KJS / IR: companion object and nested objects are not exported - [`KT-47524`](https://youtrack.jetbrains.com/issue/KT-47524) KJS / IR: Treat protected members as part of exported API - [`KT-48132`](https://youtrack.jetbrains.com/issue/KT-48132) KJS / IR: "IllegalStateException" when interface methods don't have default implementation - [`KT-47700`](https://youtrack.jetbrains.com/issue/KT-47700) Support instantiation of annotation classes on JS - [`KT-48317`](https://youtrack.jetbrains.com/issue/KT-48317) KJS / IR: "TypeError: ... is not a function" on running code with suspend function inheritors - [`KT-48344`](https://youtrack.jetbrains.com/issue/KT-48344) KJS / IR: incorrect call with vararg argument from suspend function - [`KT-47751`](https://youtrack.jetbrains.com/issue/KT-47751) Kotlin/JS: IR + IC: "argument has no effect without source map" warnings on build ##### Libraries ##### New Features - [`KT-46423`](https://youtrack.jetbrains.com/issue/KT-46423) infix extension fun Comparable<T>.compareTo - [`KT-47421`](https://youtrack.jetbrains.com/issue/KT-47421) Stabilize collection builders - [`KT-48584`](https://youtrack.jetbrains.com/issue/KT-48584) Introduce JVM readln() and readlnOrNull() top-level functions ##### Performance Improvements - [`KT-45438`](https://youtrack.jetbrains.com/issue/KT-45438) Remove brittle ‘contains’ optimization in minus/removeAll/retainAll ##### Fixes - [`KT-28378`](https://youtrack.jetbrains.com/issue/KT-28378) Different behavior of Regex replace function in JVM and JS when replacement string contains group reference - [`KT-46785`](https://youtrack.jetbrains.com/issue/KT-46785) Get rid of !! after readLine() in the standard library - [`KT-46784`](https://youtrack.jetbrains.com/issue/KT-46784) Stabilize Duration API in the standard library - [`KT-46229`](https://youtrack.jetbrains.com/issue/KT-46229) Bring back Duration factory extension properties - [`KT-27738`](https://youtrack.jetbrains.com/issue/KT-27738) Make JS Regex.replace not inline - [`KT-48607`](https://youtrack.jetbrains.com/issue/KT-48607) Stabilize experimental API for 1.6 - [`KT-47304`](https://youtrack.jetbrains.com/issue/KT-47304) Random#nextLong generates value outside provided range - [`KT-47706`](https://youtrack.jetbrains.com/issue/KT-47706) System property that controls the brittle `contains` optimization - [`KT-48999`](https://youtrack.jetbrains.com/issue/KT-48999) Align behavior of some JS functions with their JVM counterpart - [`KT-46243`](https://youtrack.jetbrains.com/issue/KT-46243) Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standard - [`KT-46101`](https://youtrack.jetbrains.com/issue/KT-46101) Review deprecations in stdlib for 1.6 - [`KT-48456`](https://youtrack.jetbrains.com/issue/KT-48456) Introduce Common (multi-platform) readln() and readlnOrNull() top-level functions - [`KT-48587`](https://youtrack.jetbrains.com/issue/KT-48587) Deprecate some of JS-only stdlib API - [`KT-39328`](https://youtrack.jetbrains.com/issue/KT-39328) Make builder collection implementations serializable - [`KT-47676`](https://youtrack.jetbrains.com/issue/KT-47676) K/JS: MatchResult.next() returns no expected next match if called after `matchEntire` - [`KT-39166`](https://youtrack.jetbrains.com/issue/KT-39166) Nothing is silently mapped to Void in arguments of the type passed to typeOf - [`KT-39330`](https://youtrack.jetbrains.com/issue/KT-39330) Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.\* - [`KT-28753`](https://youtrack.jetbrains.com/issue/KT-28753) Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total order - [`KT-38854`](https://youtrack.jetbrains.com/issue/KT-38854) Gradually change the return type of collection min/max functions to non-nullable - [`KT-38754`](https://youtrack.jetbrains.com/issue/KT-38754) Deprecate appendln in favor of appendLine ##### Native - [`KT-48807`](https://youtrack.jetbrains.com/issue/KT-48807) Cinterop: cannot create bindings for a framework when Xcode 13 RC is installed - [`KT-49384`](https://youtrack.jetbrains.com/issue/KT-49384) Kotlin/Native: Unexpected variance in super type argument: out `@0` - [`KT-47424`](https://youtrack.jetbrains.com/issue/KT-47424) StackOverflowError in IR hashCode() methods compiling KMM module for Kotlin/Native with Kotlin 1.5.0+ - [`KT-49234`](https://youtrack.jetbrains.com/issue/KT-49234) SIGSEGV using the new memory manager in release in Kotlin 1.6.0-RC in MacosX64 - [`KT-48566`](https://youtrack.jetbrains.com/issue/KT-48566) ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native - [`KT-48039`](https://youtrack.jetbrains.com/issue/KT-48039) Native: support shaded (aka embeddable) compiler jar in Gradle plugin - [`KT-42693`](https://youtrack.jetbrains.com/issue/KT-42693) Remove dependency on ncurses5 library ##### Native. C Export - [`KT-47209`](https://youtrack.jetbrains.com/issue/KT-47209) kotlin-native fails to generate valid C header if a setter takes anonymous parameter (\_) ##### Native. C and ObjC Import - [`KT-48074`](https://youtrack.jetbrains.com/issue/KT-48074) Native: cinterop: \__flexarr support ##### Native. ObjC Export - [`KT-47809`](https://youtrack.jetbrains.com/issue/KT-47809) Kotlin/Native: ObjC-export module name usage in klib compilation ##### Native. Platforms - [`KT-43024`](https://youtrack.jetbrains.com/issue/KT-43024) Kotlin/Native: Windows as cross-compilation target ##### Native. Runtime - [`KT-48452`](https://youtrack.jetbrains.com/issue/KT-48452) Kotlin/Native: Support thread state switching in termination handlers for the new MM ##### Native. Runtime. Memory - [`KT-48143`](https://youtrack.jetbrains.com/issue/KT-48143) Kotlin/Native: test fails with assert with new MM and state checker - [`KT-48364`](https://youtrack.jetbrains.com/issue/KT-48364) Uninitialized top-level properties in new MM - [`KT-44283`](https://youtrack.jetbrains.com/issue/KT-44283) staticCFunction with CValue parameter crashes when invoked off the main thread ##### Native. Stdlib - [`KT-47662`](https://youtrack.jetbrains.com/issue/KT-47662) \[Native, All platforms] Incorrect parsing of long strings to Float and Double ##### Reflection - [`KT-45066`](https://youtrack.jetbrains.com/issue/KT-45066) Support flexible types (nullability, mutability, raw) in typeOf - [`KT-35877`](https://youtrack.jetbrains.com/issue/KT-35877) typeOf\<MutableList<*>> cannot be distinguished from typeOf\<List<*>> in Kotlin/JVM ##### Tools. CLI - [`KT-49007`](https://youtrack.jetbrains.com/issue/KT-49007) Support three previous API versions - [`KT-48622`](https://youtrack.jetbrains.com/issue/KT-48622) Introduce compiler X-flag to use the builder inference for all calls by default - [`KT-32376`](https://youtrack.jetbrains.com/issue/KT-32376) “no main manifest attribute” on running the jar for cli-compiled Kotlin objects with main function - [`KT-48026`](https://youtrack.jetbrains.com/issue/KT-48026) Add the compiler X-flag to enable self upper bound type inference - [`KT-47640`](https://youtrack.jetbrains.com/issue/KT-47640) CLI: support -option=value format as for -Xoption=value - [`KT-47099`](https://youtrack.jetbrains.com/issue/KT-47099) Add a stable compiler argument for opt-in requirements as soon as they are stable ##### Tools. Commonizer ##### New Features - [`KT-48455`](https://youtrack.jetbrains.com/issue/KT-48455) \[Commonizer] Optimistic number commonization - [`KT-48459`](https://youtrack.jetbrains.com/issue/KT-48459) \[Commonizer] Add opt-in annotation to optimistically commonized numbers ##### Fixes - [`KT-47430`](https://youtrack.jetbrains.com/issue/KT-47430) \[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for "unixMain" - [`KT-48567`](https://youtrack.jetbrains.com/issue/KT-48567) \[Commonizer] pthread_self function is not commonized in atomicfu - [`KT-48287`](https://youtrack.jetbrains.com/issue/KT-48287) \[Commonizer] platform.posix.mkdir not commonized in OKIO - [`KT-48286`](https://youtrack.jetbrains.com/issue/KT-48286) \[Commonizer] platform.posix.ftruncate not commonized in OKIO - [`KT-47523`](https://youtrack.jetbrains.com/issue/KT-47523) MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target - [`KT-48278`](https://youtrack.jetbrains.com/issue/KT-48278) \[Commonizer] platform.posix.usleep not commonized in sqliter - [`KT-46691`](https://youtrack.jetbrains.com/issue/KT-46691) MPP: Type mismatch for hierarchically commonized typealiases - [`KT-47221`](https://youtrack.jetbrains.com/issue/KT-47221) C-interop commonization fails if few targets reuse same source set - [`KT-47775`](https://youtrack.jetbrains.com/issue/KT-47775) Commonizer don't run for shared native code if test source set depends on main - [`KT-47053`](https://youtrack.jetbrains.com/issue/KT-47053) MPP: Unable to resolve c-interop commonized code from shared test source set - [`KT-48118`](https://youtrack.jetbrains.com/issue/KT-48118) Commonized c-interop lib is not attached to common main source set - [`KT-47641`](https://youtrack.jetbrains.com/issue/KT-47641) Enabled cInterop commonization triggers native compilation during Gradle sync in IDE - [`KT-47056`](https://youtrack.jetbrains.com/issue/KT-47056) MPP: Change naming for folder with commonized c-interop libraries ##### Tools. Compiler Plugins - [`KT-48842`](https://youtrack.jetbrains.com/issue/KT-48842) Compiler crash: Symbol with IrFieldSymbolImpl is unbound - [`KT-48117`](https://youtrack.jetbrains.com/issue/KT-48117) Kotlin AllOpen Plugin should open private methods - [`KT-40340`](https://youtrack.jetbrains.com/issue/KT-40340) jvm-abi-gen plugin: failure with Android D8 (Dexer) tool - [`KT-40133`](https://youtrack.jetbrains.com/issue/KT-40133) jvm-abi-gen plugin: fails for inline function containing apply block with anonymous object - [`KT-28704`](https://youtrack.jetbrains.com/issue/KT-28704) jvm-abi-gen plugin: avoid calling codegen twice per module - [`KT-48111`](https://youtrack.jetbrains.com/issue/KT-48111) JVM / IR: "IllegalAccessError: tried to access method" with NoArg plugin and sealed class ##### Tools. Gradle ##### Performance Improvements - [`KT-49159`](https://youtrack.jetbrains.com/issue/KT-49159) KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabled ##### Fixes - [`KT-45504`](https://youtrack.jetbrains.com/issue/KT-45504) Deprecate Gradle option KotlinJvmOptions.useIR since 1.5 - [`KT-49189`](https://youtrack.jetbrains.com/issue/KT-49189) In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projects - [`KT-48830`](https://youtrack.jetbrains.com/issue/KT-48830) Change deprecation level to 'ERROR' for 'KotlinGradleSubplugin' - [`KT-48264`](https://youtrack.jetbrains.com/issue/KT-48264) Cannot write Kotlin build report unless directory exists - [`KT-48745`](https://youtrack.jetbrains.com/issue/KT-48745) JVM target compatibility check should be disabled when Java sources are empty - [`KT-49066`](https://youtrack.jetbrains.com/issue/KT-49066) Setting kotlinOptions.modulePath in an android project breaks incremental compilation - [`KT-48847`](https://youtrack.jetbrains.com/issue/KT-48847) Remove deprecated kotlin options marked for removal after 1.5 - [`KT-48245`](https://youtrack.jetbrains.com/issue/KT-48245) KGP makes compileOnly configuration resolvable - [`KT-38010`](https://youtrack.jetbrains.com/issue/KT-38010) Invalid warning "Runtime JAR files in the classpath should have the same version." with `java-gradle-plugin` - [`KT-48768`](https://youtrack.jetbrains.com/issue/KT-48768) Misleading 'jdkHome' deprecation message - [`KT-46719`](https://youtrack.jetbrains.com/issue/KT-46719) Remove 'kotlin.useFallbackCompilerSearch' build option - [`KT-47792`](https://youtrack.jetbrains.com/issue/KT-47792) KGP should ignore ProjectDependency when customize kotlin Dependencies - [`KT-47867`](https://youtrack.jetbrains.com/issue/KT-47867) Replace usages of IncrementalTaskInputs with InputChanges - [`KT-46972`](https://youtrack.jetbrains.com/issue/KT-46972) Migrate Kotlin repo to use Gradle toolchain feature ##### Tools. Gradle. JS - [`KT-49124`](https://youtrack.jetbrains.com/issue/KT-49124) KJS / Gradle: Unable to load '[@&#8203;webpack-cli/serve](https://github.com/webpack-cli/serve)' command - [`KT-49201`](https://youtrack.jetbrains.com/issue/KT-49201) KJS / Gradle: NPM dependencies resolution may fail on parallel builds - [`KT-48241`](https://youtrack.jetbrains.com/issue/KT-48241) KJS / Gradle: NPM test dependency may break Gradle configuration cache - [`KT-32071`](https://youtrack.jetbrains.com/issue/KT-32071) Possibility to disable downloading of Node.js and Yarn - [`KT-48332`](https://youtrack.jetbrains.com/issue/KT-48332) Make NodeJsSetupTask and YarnSetupTask not cacheable - [`KT-37895`](https://youtrack.jetbrains.com/issue/KT-37895) KJS: NPM Post-install Scripts sometimes print "node: not found" - [`KT-34985`](https://youtrack.jetbrains.com/issue/KT-34985) kotlin-gradle-plugin: Should align ways NodeJs and Yarn are downloaded ##### Tools. Gradle. Multiplatform - [`KT-48709`](https://youtrack.jetbrains.com/issue/KT-48709) MPP: Task compileKotlinMacosX64 fails on matching native variants if ktlint presented - [`KT-48919`](https://youtrack.jetbrains.com/issue/KT-48919) Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = "1.7" - [`KT-46343`](https://youtrack.jetbrains.com/issue/KT-46343) \[Commonizer] Use lockfile for NativeDistributionCommonizationCache - [`KT-48427`](https://youtrack.jetbrains.com/issue/KT-48427) Execution failed for task ':commonizeNativeDistribution'. > java.io.FileNotFoundException lock (No such file or directory) - [`KT-48513`](https://youtrack.jetbrains.com/issue/KT-48513) Commonized platform libraries are unresolved in modules for new hierarchical MPP flag - [`KT-48138`](https://youtrack.jetbrains.com/issue/KT-48138) CInteropCommonizer: Missing commonization request if test source set has different targets than associated main - [`KT-35832`](https://youtrack.jetbrains.com/issue/KT-35832) Gradle: MPP plugin operates with -Xuse-experimental and not with -Xopt-in ##### Tools. Gradle. Native - [`KT-48729`](https://youtrack.jetbrains.com/issue/KT-48729) Test-source sets receive extra unnecessary granular dependencies to more common source sets when depending on MPP-library - [`KT-37511`](https://youtrack.jetbrains.com/issue/KT-37511) CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminal - [`KT-47362`](https://youtrack.jetbrains.com/issue/KT-47362) Cocoapods plugin: add error reporting for case when pod is not installed on user machine - [`KT-37513`](https://youtrack.jetbrains.com/issue/KT-37513) CocoaPods Gradle plugin: Support building tests from terminal for projects depending on pods ##### Tools. Kapt - [`KT-45545`](https://youtrack.jetbrains.com/issue/KT-45545) Kapt is not compatible with JDK 16+ - [`KT-47853`](https://youtrack.jetbrains.com/issue/KT-47853) `KaptWithoutKotlincTask` eagerly resolves dependencies during construction/configuration and can cause deadlocks - [`KT-47934`](https://youtrack.jetbrains.com/issue/KT-47934) KaptJavaLog is unable to map stub back to the kotlin source - [`KT-48195`](https://youtrack.jetbrains.com/issue/KT-48195) Kapt causes dead lock in DefaultFileLockManager ##### Tools. Scripts - [`KT-49400`](https://youtrack.jetbrains.com/issue/KT-49400) Script resolver options can't take values with special symbols (/, , $, :, .) in them - [`KT-49012`](https://youtrack.jetbrains.com/issue/KT-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`](https://youtrack.jetbrains.com/issue/KT-47927) Script: memory leak with new engines - [`KT-48025`](https://youtrack.jetbrains.com/issue/KT-48025) JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer function - [`KT-48303`](https://youtrack.jetbrains.com/issue/KT-48303) main.kts script fails to detect vanished dependencies if run from the cache - [`KT-48177`](https://youtrack.jetbrains.com/issue/KT-48177) Scripts: OutOfMemoryException with circular `@file:Import` - [`KT-46645`](https://youtrack.jetbrains.com/issue/KT-46645) Scripts: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" caused by get accessor ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.6.0.zip | 174c92e12a54c0901fd9f0badacf1514c28b5197a95654e4dab1775293dde1dc | | kotlin-native-linux-x86\_64-1.6.0.tar.gz | 64fcc58174feabec7de521053baa2edbd883419a721bce79a6e1c7bbd5c15e51 | | kotlin-native-macos-x86\_64-1.6.0.tar.gz | 856a58b92672cd83b84c23ae5af19e59a08509d83a0de4a50b89f2259e2c7306 | | kotlin-native-macos-aarch64-1.6.0.tar.gz | 12b29e1763be6715fb3ecafb6ed9bbf7f9874d398654465380ceec69aa9007a2 | | kotlin-native-windows-x86\_64-1.6.0.zip | 90fbba1e309f8cac128e15f0673991b13bb07b4aa09e40188476ddaab29bc9a7 | ### [`v1.5.32`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.32): Kotlin 1.5.32 ##### Changelog ##### Tools. Gradle. Multiplatform - [`KT-49798`](https://youtrack.jetbrains.com/issue/KT-49798) \[MPP] \[Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.32.zip | 2e728c43ee0bf819eae06630a4cbbc28ba2ed5b19a55ee0af96d2c0ab6b6c2a5 | | kotlin-native-linux-x86\_64-1.5.32.tar.gz | 3b1441171951f80272d227da8673dcceff48343a3effba36ee49e5be5f55a1a3 | | kotlin-native-macos-x86\_64-1.5.32.tar.gz | 3060512bceb7e3b0bdfe9f5af7d526192b745be1c42a317b6a455b06393513df | | kotlin-native-macos-aarch64-1.5.32.tar.gz | b41322c2e7d88379d65554b70edc34eb05f49c9d72d528c16b64a60a9c2250b8 | | kotlin-native-windows-x86\_64-1.5.32.zip | 6d6a2dbaa65d3b5f07bb6b48cbd6fa92f616d2c8edd0afb4f19f1cc35566476a | ### [`v1.5.31`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.31): Kotlin 1.5.31 ##### Changelog ##### Compiler ##### Fixes - [`KT-48659`](https://youtrack.jetbrains.com/issue/KT-48659) JVM / IR: Referential equality returns true for different instances - [`KT-48613`](https://youtrack.jetbrains.com/issue/KT-48613) Kotlin/Native fails to compile debug binaries for watchosArm64 target - [`KT-48316`](https://youtrack.jetbrains.com/issue/KT-48316) "No value passed for parameter" regression with Java annotation default values with JSR-305 - [`KT-48343`](https://youtrack.jetbrains.com/issue/KT-48343) Mistake in an error message for uninferred type variable without unrestricted builder inference - [`KT-48543`](https://youtrack.jetbrains.com/issue/KT-48543) Native compiler crashes because of bridges for $default stubs - [`KT-48349`](https://youtrack.jetbrains.com/issue/KT-48349) OptIn markers are forbidden on local variable / value parameter / property getter only in presence of explicit Target annotation - [`KT-48295`](https://youtrack.jetbrains.com/issue/KT-48295) JVM / IR: VerifyError: Bad access to protected data in getfield - [`KT-48551`](https://youtrack.jetbrains.com/issue/KT-48551) JVM / IR: "IllegalStateException: Inline class has no primary constructor" caused by inline class from one module and `fun interface` from another - [`KT-47917`](https://youtrack.jetbrains.com/issue/KT-47917) JVM: "UTF8 string too large" caused by a big string - [`KT-48440`](https://youtrack.jetbrains.com/issue/KT-48440) JVM IR: Missing checkcast in generated bytecode causes VerifyError in Kotlin 1.5.30 - [`KT-48361`](https://youtrack.jetbrains.com/issue/KT-48361) INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions - [`KT-48267`](https://youtrack.jetbrains.com/issue/KT-48267) JVM IR: CCE on callable reference to Array constructor passed to inline function ##### IDE - [`KTIJ-15744`](https://youtrack.jetbrains.com/issue/KTIJ-15744) Reopening build.gradle.kts-based project reports MISSING_SCRIPT_BASE_CLASS KotlinBuildScript until re-import - [`KTIJ-19005`](https://youtrack.jetbrains.com/issue/KTIJ-19005) JDK 17: "PermittedSubclasses requires ASM9" exception multiple times per second during analysis - [`KTIJ-19504`](https://youtrack.jetbrains.com/issue/KTIJ-19504) IDE highlighting: Kotlin plugin 1.5.30 started showing some valid classes from multiplatform libraries as not existing ##### Native - [`KT-48591`](https://youtrack.jetbrains.com/issue/KT-48591) Kotlin/Native: Char.isHighSurrogate and Char.isLowSurrogate return wrong result for macosArm64 and iosArm64 with compiler cache enabled - [`KT-48491`](https://youtrack.jetbrains.com/issue/KT-48491) CInterop broke in Kotlin 1.5.30 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.31.zip | 661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e | | kotlin-native-linux-x86\_64-1.5.31.tar.gz | 636b7e9e54eefa3fa1d284677a8ec2271d0f98b024a8a60127ef20a3badaae03 | | kotlin-native-macos-x86\_64-1.5.31.tar.gz | fde7224a8e04a6cd934ecbf55d4d51966f8a0668104f4316a76b3f38062d1ade | | kotlin-native-macos-aarch64-1.5.31.tar.gz | fbd005e360253e7d7ff1cd78b7cbbe34df0592812676deada6620a53d469d803 | | kotlin-native-windows-x86\_64-1.5.31.zip | 11c2e3378ea2e0121e9c3378e58f9813fc5f7850110c0e341739ab514f1379ca | ### [`v1.5.30`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.30): Kotlin 1.5.30 ##### Changelog ##### Backend. Native. Debug - [`KT-47405`](https://youtrack.jetbrains.com/issue/KT-47405) Incorrect path from inlined method in stacktrace on iOS-simulator ARM64 - [`KT-47408`](https://youtrack.jetbrains.com/issue/KT-47408) Incorrect line number of inlined method on iOS-simulator ARM64 ##### Compiler ##### New Features - [`KT-44261`](https://youtrack.jetbrains.com/issue/KT-44261) Support RxJava 3 nullability annotations - [`KT-32443`](https://youtrack.jetbrains.com/issue/KT-32443) Experimental declarations should be contagious even when they are not explicitly used - [`KT-45844`](https://youtrack.jetbrains.com/issue/KT-45844) Forbid using experimental markers on override declarations - [`KT-45845`](https://youtrack.jetbrains.com/issue/KT-45845) Forbid using experimental markers on getter - [`KT-46644`](https://youtrack.jetbrains.com/issue/KT-46644) Resolve overrides for IrProperty on deserialization - [`KT-46967`](https://youtrack.jetbrains.com/issue/KT-46967) Support class type parameters annotations in FIR - [`KT-47402`](https://youtrack.jetbrains.com/issue/KT-47402) Native: optimize access to object declarations that have only const vals and no init blocks - [`KT-47709`](https://youtrack.jetbrains.com/issue/KT-47709) Make when statements with enum, sealed, and Boolean subjects exhaustive by default - [`KT-47699`](https://youtrack.jetbrains.com/issue/KT-47699) Support programmatic creation of class annotations and corresponding feature flag on JVM ##### Performance Improvements - [`KT-45103`](https://youtrack.jetbrains.com/issue/KT-45103) Direct invoke optimization - [`KT-47785`](https://youtrack.jetbrains.com/issue/KT-47785) Compilation time increased when trying to compile AssertJ DB expression in 1.5.21 ##### Fixes - [`KT-48361`](https://youtrack.jetbrains.com/issue/KT-48361) INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions - [`KT-48180`](https://youtrack.jetbrains.com/issue/KT-48180) JVM / IR: AssertionError: "Lambda with offset already exists" caused by calling inline function with default lambda parameter - [`KT-47328`](https://youtrack.jetbrains.com/issue/KT-47328) JVM / IR: NoSuchFieldError with missing CHECKCAST - [`KT-48172`](https://youtrack.jetbrains.com/issue/KT-48172) "IllegalStateException: Cannot serialize error type: \[ERROR : <LOOP IN SUPERTYPES>]" in 1.5.21 with java kotlin interop - [`KT-48230`](https://youtrack.jetbrains.com/issue/KT-48230) JVM IR: CCE for multiple receivers case - [`KT-48262`](https://youtrack.jetbrains.com/issue/KT-48262) "Inconsistent type" with JSpecify [@&#8203;NullMarked](https://github.com/NullMarked) - [`KT-48167`](https://youtrack.jetbrains.com/issue/KT-48167) JVM / IR: If Map#entrySet is implemented in an interface, Kotlin compiler generates incorrect code for its implementation - [`KT-47988`](https://youtrack.jetbrains.com/issue/KT-47988) JVM / IR: "VerifyError: Bad type on operand stack" when invoking apply with a local method reference - [`KT-48163`](https://youtrack.jetbrains.com/issue/KT-48163) JVM / IR: "VerifyError: Bad type on operand stack" when throwing result of smartcast - [`KT-47833`](https://youtrack.jetbrains.com/issue/KT-47833) False positive "Type argument is not within its bounds " with upcasting in 1.5.30-M1 - [`KT-47830`](https://youtrack.jetbrains.com/issue/KT-47830) Some code doesn't compile with unrestricted builder inference - [`KT-39883`](https://youtrack.jetbrains.com/issue/KT-39883) Deprecate computing constant values if complex boolean expressions in when condition branches and conditions of loops - [`KT-47037`](https://youtrack.jetbrains.com/issue/KT-47037) Eliminate builder inference restrictions - [`KT-46726`](https://youtrack.jetbrains.com/issue/KT-46726) IR + BuilderInference: AssertionError: Unbound private symbol <ERROR CLASS> on usage of this in a BuilderInference lambda - [`KT-43855`](https://youtrack.jetbrains.com/issue/KT-43855) Support gradual introduction of new nullability annotations - [`KT-43142`](https://youtrack.jetbrains.com/issue/KT-43142) FIR: Check UPPER_BOUND_VIOLATED for type alias constructors properly - [`KT-45228`](https://youtrack.jetbrains.com/issue/KT-45228) Leaking builder inference type variables though callable references - [`KT-42270`](https://youtrack.jetbrains.com/issue/KT-42270) NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for BuilderInference with extension functions - [`KT-46029`](https://youtrack.jetbrains.com/issue/KT-46029) JVM / IR: "Unbound private symbol: <ERROR CLASS>" when trying to save SequenceScope in property - [`KT-45258`](https://youtrack.jetbrains.com/issue/KT-45258) Wrong CST between types which contain stub type - [`KT-45224`](https://youtrack.jetbrains.com/issue/KT-45224) Type safety problem through leaking of the builder inference scope - [`KT-22852`](https://youtrack.jetbrains.com/issue/KT-22852) Report diagnostics on implicit usages of experimental API - [`KT-22941`](https://youtrack.jetbrains.com/issue/KT-22941) Experimental marker annotation with SOURCE retention is compiled without error - [`KT-24993`](https://youtrack.jetbrains.com/issue/KT-24993) Inference for buildSequence/yield doesn't work for labeled lambdas - [`KT-31728`](https://youtrack.jetbrains.com/issue/KT-31728) Incorrect EXPERIMENTAL_OVERRIDE_ERROR for override of experimental function in anonymous object - [`KT-33364`](https://youtrack.jetbrains.com/issue/KT-33364) Kotlin/Native debugger: execution stops only at next line for breakpoint at when expression without parameter - [`KT-42139`](https://youtrack.jetbrains.com/issue/KT-42139) NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for emptyList / listOf (with no arguments) / emptyMap / mapOf (with no arguments) inside if block inside `sequence` block - [`KT-44241`](https://youtrack.jetbrains.com/issue/KT-44241) NI: BuilderInference regression - [`KT-44372`](https://youtrack.jetbrains.com/issue/KT-44372) FIR: KClass::java cannot be resolved as callable reference - [`KT-44547`](https://youtrack.jetbrains.com/issue/KT-44547) Native: wrong RTTI when overriding functions with equal signatures but different type arguments - [`KT-44571`](https://youtrack.jetbrains.com/issue/KT-44571) Segfault on unnecessary int unboxing - [`KT-45083`](https://youtrack.jetbrains.com/issue/KT-45083) Problem with property reference in builder inference - [`KT-45315`](https://youtrack.jetbrains.com/issue/KT-45315) Deprecate (V)::a reference resolution to companion in FE 1.0 - [`KT-46393`](https://youtrack.jetbrains.com/issue/KT-46393) AE: "1 trailing arguments were found in Any<T> type" for private function with implicit anonymous return type inside generic class - [`KT-46661`](https://youtrack.jetbrains.com/issue/KT-46661) FIR: Investigate inference issue with self-types and star projection - [`KT-46775`](https://youtrack.jetbrains.com/issue/KT-46775) \[Native] \[IR] Support multiple suspend lambdas as class supertypes - [`KT-46836`](https://youtrack.jetbrains.com/issue/KT-46836) Error: Invalid LLVM module on inlineClasses external tests - [`KT-46838`](https://youtrack.jetbrains.com/issue/KT-46838) NullPointerException: Parameter specified as non-null is null in CollectionsKt.joinToString() - [`KT-46896`](https://youtrack.jetbrains.com/issue/KT-46896) Native IR: NPE when using irBuiltIns.suspendFunction - [`KT-46996`](https://youtrack.jetbrains.com/issue/KT-46996) FIR: INFERENCE_NO_INFORMATION_FOR_PARAMETER on type aliases with non-trivial expansions - [`KT-47034`](https://youtrack.jetbrains.com/issue/KT-47034) KtValueArgument.getArgumentExpression could lead to StubBasedPsiElementBase.notBoundInExistingAst - [`KT-47052`](https://youtrack.jetbrains.com/issue/KT-47052) BuilderInference case with flatMapTo doesn't work properly - [`KT-47082`](https://youtrack.jetbrains.com/issue/KT-47082) Stub type variable is leaked (reproduces with K/N during deserialization) - [`KT-47143`](https://youtrack.jetbrains.com/issue/KT-47143) ClassicTypeSystemContext couldn't handle: Captured(\*) in Kotlin 1.5.0 - [`KT-47148`](https://youtrack.jetbrains.com/issue/KT-47148) Type mismatch: inferred type is Any? but T? was expected - [`KT-47180`](https://youtrack.jetbrains.com/issue/KT-47180) Forbid using OptIn markers on local variable, value parameter or field - [`KT-47181`](https://youtrack.jetbrains.com/issue/KT-47181) Forbid using OptIn markers on types or type parameters - [`KT-47183`](https://youtrack.jetbrains.com/issue/KT-47183) Segfault on int unboxing - [`KT-47208`](https://youtrack.jetbrains.com/issue/KT-47208) Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMember - [`KT-47276`](https://youtrack.jetbrains.com/issue/KT-47276) Nullability annotations without target are ignored if type enhancement improvements are enabled - [`KT-47450`](https://youtrack.jetbrains.com/issue/KT-47450) StackOverflowException in psi2ir with many chained binary expressions - [`KT-47462`](https://youtrack.jetbrains.com/issue/KT-47462) K/N: AssertionError: Unbound private symbol org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl@[`6cb748d`](https://github.com/JetBrains/kotlin/commit/6cb748db) (NON-PUBLIC API): deserialized class Companion - [`KT-47941`](https://youtrack.jetbrains.com/issue/KT-47941) "IllegalStateException: Expected some types" on a call with several excepted type constraints - [`KT-47854`](https://youtrack.jetbrains.com/issue/KT-47854) "IllegalArgumentException: Type is inconsistent" with Android's [@&#8203;Nullable](https://github.com/Nullable) annotation starting in Kotlin 1.5.20 - [`KT-47899`](https://youtrack.jetbrains.com/issue/KT-47899) "AssertionError: Intersection type should not be marked nullable" with 1.5.21 - [`KT-47846`](https://youtrack.jetbrains.com/issue/KT-47846) Stack overflow when handling enhanced recursive type parameter - [`KT-47747`](https://youtrack.jetbrains.com/issue/KT-47747) Introduce specific error for calls which could be resolved only with unrestricted builder inference - [`KT-47739`](https://youtrack.jetbrains.com/issue/KT-47739) JVM / IR: NoSuchFieldError with generic sealed classes - [`KT-47422`](https://youtrack.jetbrains.com/issue/KT-47422) -Xjspecify-annotations: If a class has a [@&#8203;Nullable](https://github.com/Nullable) type-parameter bound, Kotlin should still treat some users' type arguments as platform types - [`KT-47437`](https://youtrack.jetbrains.com/issue/KT-47437) Type inference failure with raw types under -Xjspecify-annotations=strict - [`KT-47396`](https://youtrack.jetbrains.com/issue/KT-47396) \<?> in [@&#8203;NullMarked](https://github.com/NullMarked) code should permit nullable types - [`KT-47729`](https://youtrack.jetbrains.com/issue/KT-47729) False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases" - [`KT-47333`](https://youtrack.jetbrains.com/issue/KT-47333) Xcode 13: Compilation for iOS simulator fails - [`KT-47772`](https://youtrack.jetbrains.com/issue/KT-47772) False negative WRONG_ANNOTATION_TARGET on type argument to function call - [`KT-47467`](https://youtrack.jetbrains.com/issue/KT-47467) JVM / IR: "AssertionError: Annotation class expected: deserialized class Array" caused by java annotation as a parameter of another annotation - [`KT-47744`](https://youtrack.jetbrains.com/issue/KT-47744) UninitializedPropertyAccessException compiler exception on nested builder inference calls - [`KT-47724`](https://youtrack.jetbrains.com/issue/KT-47724) Type inference: False positive "Returning type parameter has been inferred to Nothing implicitly" - [`KT-47660`](https://youtrack.jetbrains.com/issue/KT-47660) JVM / IR: Mockito verification fails when named parameters are ordered differently - [`KT-47589`](https://youtrack.jetbrains.com/issue/KT-47589) Using RequiresOptIn annotation on constructor property results in error even if the annotation has no VALUE_PARAMETER target ##### Docs & Examples - [`KT-47649`](https://youtrack.jetbrains.com/issue/KT-47649) Important note about KJS IR compiler and stdlib compatibility in 1.5.30 ##### IDE - [`KT-44643`](https://youtrack.jetbrains.com/issue/KT-44643) ISE: Could not generate LightClass for some declared in <null> on initialisation by `lazy` in a JVM module of a multiplatform project - [`KT-47947`](https://youtrack.jetbrains.com/issue/KT-47947) Add language version 1.6 to the compiler configuration preferences ##### IDE. Gradle Integration - [`KT-47163`](https://youtrack.jetbrains.com/issue/KT-47163) KJS / Gradle: `Could not resolve <artifact>` despite being resolvable & project buildable ##### IDE. JS - [`KT-46548`](https://youtrack.jetbrains.com/issue/KT-46548) KJS: Create an IDE plugin to help with migration to and keeping compatibility with JS IR BE - [`KT-47557`](https://youtrack.jetbrains.com/issue/KT-47557) KJS: With NPM dependency IDEA import fails when performed before Gradle build ##### JavaScript - [`KT-46204`](https://youtrack.jetbrains.com/issue/KT-46204) KJS / IR: Support `SuspendFunctionN` as super type - [`KT-38363`](https://youtrack.jetbrains.com/issue/KT-38363) JS IR BE: support IC for lowerings - [`KT-41651`](https://youtrack.jetbrains.com/issue/KT-41651) JS IR BE: DCE removes `render` method from react components passed to the kotlinx.react - [`KT-46520`](https://youtrack.jetbrains.com/issue/KT-46520) KJS / IR: ISE "Can't find name for declaration FUN name:CharArray_init\_$Create$" on callable reference to Array constructor - [`KT-45738`](https://youtrack.jetbrains.com/issue/KT-45738) KJS / IR: Wrong generated code for `when` statement - [`KT-46551`](https://youtrack.jetbrains.com/issue/KT-46551) KJS / IR: Add a basic sourcemap generation ##### Libraries - [`KT-47477`](https://youtrack.jetbrains.com/issue/KT-47477) Could not resolve kotlin-test during project import in case of multiplatform with only JVM target platform - [`KT-47675`](https://youtrack.jetbrains.com/issue/KT-47675) Converting Double to Duration may expose inexactness - [`KT-47419`](https://youtrack.jetbrains.com/issue/KT-47419) Remove method of the MapBuilder iterator throws IOOBE instead of IllegalStateException - [`KT-47211`](https://youtrack.jetbrains.com/issue/KT-47211) Kotlin Native - AbstractMutableList.addAll (with index) does not throw IndexOutOfBoundsException if elements is empty - [`KT-23351`](https://youtrack.jetbrains.com/issue/KT-23351) Regex.splitToSequence, CharSequence.splitToSequence(Regex) - [`KT-42851`](https://youtrack.jetbrains.com/issue/KT-42851) kotlin.time.Duration toString() shows wrong result for seconds - [`KT-45325`](https://youtrack.jetbrains.com/issue/KT-45325) Parsing Duration from String - [`KT-34021`](https://youtrack.jetbrains.com/issue/KT-34021) Regex.matchAt / matchesAt ##### Native - [`KT-35001`](https://youtrack.jetbrains.com/issue/KT-35001) warning: linking module flags 'SDK Version': IDs have conflicting values ('\[2 x i32] \[i32 13, i32 2]' - [`KT-43475`](https://youtrack.jetbrains.com/issue/KT-43475) Kotlin/Native compiler: Including a static C library increased cross-compilation time from 3.5minutes to 1 hour 40 minutes - [`KT-44148`](https://youtrack.jetbrains.com/issue/KT-44148) Escape analysis failure: Heap space out of memory ##### Native. C and ObjC Import - [`KT-46711`](https://youtrack.jetbrains.com/issue/KT-46711) platform.windows.\_LARGE_INTEGER cannot be passed by value ##### Native. ObjC Export - [`KT-43780`](https://youtrack.jetbrains.com/issue/KT-43780) Improve Swift/Obj-C ergonomics for object and companion object - [`KT-46431`](https://youtrack.jetbrains.com/issue/KT-46431) KMP accessing a property of an anonymous inner class that inherits from an abstract class causes a 'NSGenericException', reason: '\[Shared_kobjcc0 ] is abstract' exception. - [`KT-47042`](https://youtrack.jetbrains.com/issue/KT-47042) Kotlin/Native: Concurrency Interoperability with Objective-C (Swift 5.5) ##### Native. Stdlib - [`KT-47915`](https://youtrack.jetbrains.com/issue/KT-47915) Kotlin/Native: Provide access to test cases generated by the compiler ##### Native. Platforms - [`KT-44321`](https://youtrack.jetbrains.com/issue/KT-44321) Support Apple Silicon without Rosetta 2 ##### Reflection - [`KT-18277`](https://youtrack.jetbrains.com/issue/KT-18277) InvalidProtocolBufferException: Stream closed on multithreaded access to built-ins data in reflection - [`KT-44977`](https://youtrack.jetbrains.com/issue/KT-44977) Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access - [`KT-47650`](https://youtrack.jetbrains.com/issue/KT-47650) KClass::nestedClasses throws ClassCastException for script classes with type aliases ##### Tools. CLI - [`KT-47623`](https://youtrack.jetbrains.com/issue/KT-47623) Deprecate -Xuse-experimental - [`KT-30778`](https://youtrack.jetbrains.com/issue/KT-30778) kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutines - [`KT-40979`](https://youtrack.jetbrains.com/issue/KT-40979) CLI: Executing "kotlinc.bat" at a root path, errors are not reported with a correct filepath - [`KT-40994`](https://youtrack.jetbrains.com/issue/KT-40994) CLI: Add documentation for -J argument in `kotlinc -help` - [`KT-46764`](https://youtrack.jetbrains.com/issue/KT-46764) CLI: Java record defined in a single file root is not resolved ##### Tools. Commonizer - [`KT-47433`](https://youtrack.jetbrains.com/issue/KT-47433) \[Commonizer] Commonize functions/properties with TA/Class types in signature - [`KT-47691`](https://youtrack.jetbrains.com/issue/KT-47691) \[Commonizer] Commonize `var` and `val` properties - [`KT-47434`](https://youtrack.jetbrains.com/issue/KT-47434) \[Commonizer] Commonize parameterized (type-alias + class) types - [`KT-47432`](https://youtrack.jetbrains.com/issue/KT-47432) \[Commonizer] Commonize (type-alias + class) types used in functions - [`KT-45992`](https://youtrack.jetbrains.com/issue/KT-45992) \[Commonizer] Allow commonization of TypeAlias and Class with same name - [`KT-46716`](https://youtrack.jetbrains.com/issue/KT-46716) \[Commonizer] Analyze leaf source sets with original platform libraries - [`KT-46957`](https://youtrack.jetbrains.com/issue/KT-46957) \[Commonizer] Unresolved classifier: platform/posix/ptrdiff_t for linuxMips32 - [`KT-47133`](https://youtrack.jetbrains.com/issue/KT-47133) Forbid cinterop commonization with hierarchical commonization turned off - [`KT-47301`](https://youtrack.jetbrains.com/issue/KT-47301) \[Commonizer] Associative commonization ##### Tools. Compiler Plugins - [`KT-46723`](https://youtrack.jetbrains.com/issue/KT-46723) Kotlin Lombok: JPS: config file is searched in directory relative to compiler daemon - [`KT-46739`](https://youtrack.jetbrains.com/issue/KT-46739) [@&#8203;SerialInfo](https://github.com/SerialInfo) NPE with default parameter ##### Tools. Daemon - [`KT-47152`](https://youtrack.jetbrains.com/issue/KT-47152) Incremental Compilation with Kotlin compile daemon and JDK 17 fails with IllegalAccessException ##### Tools. Gradle ##### New Features - [`KT-45757`](https://youtrack.jetbrains.com/issue/KT-45757) Add an easier way to explicitly set Kotlin daemon jvm arguments ##### Fixes - [`KT-47940`](https://youtrack.jetbrains.com/issue/KT-47940) Kotlin JVM toolchain breaks configuration cache - [`KT-46626`](https://youtrack.jetbrains.com/issue/KT-46626) kotlin-android plugin with kotlin-dsl: Extension with name 'android' does not exist. Currently registered extension names: \[ext, kotlin, kotlinTestRegistry] - [`KT-47754`](https://youtrack.jetbrains.com/issue/KT-47754) “'compileDebugUnitTestJavaWithJavac' task (current target is 1.8)” during build android project without specified target and with jvmToolchain = JDK 11 - [`KT-47520`](https://youtrack.jetbrains.com/issue/KT-47520) Kotlin and Java target compatibility check produces false positive on using Gradle toolchains - [`KT-46978`](https://youtrack.jetbrains.com/issue/KT-46978) Duplicate resource errors on gradle 7 with multi-module multiplatform project with withJava - [`KT-27687`](https://youtrack.jetbrains.com/issue/KT-27687) Empty directories in source set causes gradle cache miss for KotlinCompile task - [`KT-47635`](https://youtrack.jetbrains.com/issue/KT-47635) Kotlin version conflict on using 'noarg' Gradle plugin - [`KT-47636`](https://youtrack.jetbrains.com/issue/KT-47636) Kotlin version conflict on using 'sam-with-receiver' Gradle plugin - [`KT-47354`](https://youtrack.jetbrains.com/issue/KT-47354) Kotlin version conflict on using 'allopen' Gradle plugin - [`KT-45202`](https://youtrack.jetbrains.com/issue/KT-45202) Kapt crashes with java.io.UTFDataFormatException - [`KT-13258`](https://youtrack.jetbrains.com/issue/KT-13258) Kotlin compiler doesn't respect Gradle's "sourceCompatibility" and "targetCompatibility" - [`KT-43095`](https://youtrack.jetbrains.com/issue/KT-43095) Add support for Java Toolchain to the Gradle plugin - [`KT-45611`](https://youtrack.jetbrains.com/issue/KT-45611) KGP should declare JDK version as input - [`KT-47185`](https://youtrack.jetbrains.com/issue/KT-47185) Migrate Gradle Integration tests to use cache redirector - [`KT-48226`](https://youtrack.jetbrains.com/issue/KT-48226) Kotlin toolchain does not set 'jvmTarget' for Kotlin tasks on configuration cache reuse - [`KT-44279`](https://youtrack.jetbrains.com/issue/KT-44279) Kotlin-Android Gradle Plugin (KGP) should react to application of AGP rather than assume it was applied first - [`KT-44041`](https://youtrack.jetbrains.com/issue/KT-44041) PersistentEnumeratorBase$CorruptedException: PersistentEnumerator storage corrupted - ##### Tools. Gradle. JS - [`KT-47436`](https://youtrack.jetbrains.com/issue/KT-47436) KJS / IR: Compiler plugins not provided to link task - [`KT-46693`](https://youtrack.jetbrains.com/issue/KT-46693) KJS: Update node.js version used inside gradle to latest 14.x - [`KT-47559`](https://youtrack.jetbrains.com/issue/KT-47559) KJS / Gradle: Run task created using eager API and breaks task configuration avoidance - [`KT-47176`](https://youtrack.jetbrains.com/issue/KT-47176) KJS: Actualize NPM dependencies - [`KT-47154`](https://youtrack.jetbrains.com/issue/KT-47154) KJS / Gradle: Compile task reads dependencies metadata from filesystem too long on large projects - [`KT-47114`](https://youtrack.jetbrains.com/issue/KT-47114) KJS / IR: Could not resolve `coroutines-core-js` - [`KT-43379`](https://youtrack.jetbrains.com/issue/KT-43379) KJS / Gradle: On windows, an invalid regex is generated for Webpack ProgressPlugin ##### Tools. Gradle. Multiplatform - [`KT-47210`](https://youtrack.jetbrains.com/issue/KT-47210) \[Commonizer] Avoid commonization of test source set hierarchy if possible - [`KT-46279`](https://youtrack.jetbrains.com/issue/KT-46279) \[Commonizer] Gradle 7.0 will emit warning for metadata compilation in multimodule builds - [`KT-47126`](https://youtrack.jetbrains.com/issue/KT-47126) ios() target shortcuts should not include Apple Silicon by default - [`KT-38111`](https://youtrack.jetbrains.com/issue/KT-38111) Gradle DSL: rename useExperimentalAnnotation function - [`KT-47126`](https://youtrack.jetbrains.com/issue/KT-47126) ios() target shortcuts should not include Apple Silicon by default - [`KT-47612`](https://youtrack.jetbrains.com/issue/KT-47612) Task :buildKotlinToolingMetadata is incompatible with Gradle configuration cache - [`KT-47611`](https://youtrack.jetbrains.com/issue/KT-47611) Task :generateMetadataFileForKotlinMultiplatformPublication is incompatible with Gradle configuration cache ##### Tools. Gradle. Native - [`KT-42023`](https://youtrack.jetbrains.com/issue/KT-42023) Kotlin Native Cocoapods plugin fails when Xcode project has custom CONFIGURATION names - [`KT-47653`](https://youtrack.jetbrains.com/issue/KT-47653) Support multi arch build via embedAndSign task - [`KT-47078`](https://youtrack.jetbrains.com/issue/KT-47078) Support Apple Silicon in cocoapods gradle plugin - [`KT-47077`](https://youtrack.jetbrains.com/issue/KT-47077) Support Apple Silicon in embedAndSign task ##### Tools. Incremental Compile - [`KT-27660`](https://youtrack.jetbrains.com/issue/KT-27660) JS Incremental compilation fails with java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 - [`KT-36865`](https://youtrack.jetbrains.com/issue/KT-36865) IC: "ArrayIndexOutOfBoundsException: Array index out of range: 0" - [`KT-35532`](https://youtrack.jetbrains.com/issue/KT-35532) Incremental compilation often fails on [@&#8203;JVMMultifileClass](https://github.com/JVMMultifileClass) - [`KT-19806`](https://youtrack.jetbrains.com/issue/KT-19806) IncrementalPackagePartProvider cache corruption causes frontend exception ##### Tools. JPS - [`KT-47753`](https://youtrack.jetbrains.com/issue/KT-47753) JPS: "IndexOutOfBoundsException: Index 0 out of bounds for length 0": Rebuild triggered due to IOOBE in `kotlin.incremental.LookupStorage.<init>` - [`KT-46804`](https://youtrack.jetbrains.com/issue/KT-46804) Slow Kotlin incremental build: LookupStorage operations - [`KT-45763`](https://youtrack.jetbrains.com/issue/KT-45763) Failing tests in KotlinIDE ##### Tools. Maven - [`KT-45689`](https://youtrack.jetbrains.com/issue/KT-45689) JDK-16: kotlin-maven-plugin fails with `IllegalAccessError: class com.intellij.util.io.FileChannelUtil` when using incremental compilation ##### Tools. Scripts - [`KT-43917`](https://youtrack.jetbrains.com/issue/KT-43917) Gradle dependency conflict with resolutionStrategy failOnVersionConflict and kotlin 1.4 - [`KT-46646`](https://youtrack.jetbrains.com/issue/KT-46646) Scripts: ArrayIndexOutOfBoundsException on an empty script running ##### Tools. REPL - [`KT-47783`](https://youtrack.jetbrains.com/issue/KT-47783) REPL: Keywords completion appears after numeric and string literals ##### Tools. kapt - [`KT-47583`](https://youtrack.jetbrains.com/issue/KT-47583) KaptJavaLog fails on Java 17 due to removed constructor in com.sun.tools.javac.util.Log - [`KT-47347`](https://youtrack.jetbrains.com/issue/KT-47347) KAPT: Stub generation in Gradle cache is not consistently relocatable - [`KT-46651`](https://youtrack.jetbrains.com/issue/KT-46651) KAPT: "Source file or directory not found" - kaptGenerateStubsDebugKotlin task does not track source files properly with configuration cache enabled ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.30.zip | 25eebdb9bb2e165e4ba8efbf8ff943c45d4fc39dbffc2c1caa059e8dd813675f | | kotlin-native-linux-x86\_64-1.5.30.tar.gz | 1efad86f35543e3d5365dc6fe7dbde7f20e8330e70cf43b94d6a3f9080b2636f | | kotlin-native-macos-x86\_64-1.5.30.tar.gz | de7e9f9601e5f91aa44c0d8629da8779afaf60d0622287d67a61e72432277001 | | kotlin-native-macos-aarch64-1.5.30.tar.gz | 7c04408bb98b59b4acc1c5a2c8837350a8ef0262bc19795da42c103e6a8c6bd0 | | kotlin-native-windows-x86\_64-1.5.30.zip | 26ceb0ddc85636d459016d7824975bf82ba6e8f0526c1961604f85348a989dbf | ### [`v1.5.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.21): Kotlin 1.5.21 ##### Changelog ##### Compiler - [`KT-47320`](https://youtrack.jetbrains.com/issue/KT-47320) "StringConcatException: Mismatched number of concat arguments" String concatenation fails when template contains special character - [`KT-47445`](https://youtrack.jetbrains.com/issue/KT-47445) "definitely not null type parameters is only available since language version 1.6" error in cast expression - [`KT-47446`](https://youtrack.jetbrains.com/issue/KT-47446) Improve warning message INTEGER_OPERATOR_RESOLVE_WILL_CHANGE - [`KT-47447`](https://youtrack.jetbrains.com/issue/KT-47447) False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases" - [`KT-47449`](https://youtrack.jetbrains.com/issue/KT-47449) JVM / IR: ClassCastException IrStarProjectionImpl cannot be cast to IrTypeProjection - [`KT-47459`](https://youtrack.jetbrains.com/issue/KT-47459) "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by MarkertManager dependency - [`KT-47480`](https://youtrack.jetbrains.com/issue/KT-47480) StackOverflowError: Recursion on erasion of raw type with interdependent type parameters ##### Tools. Compiler Plugins - [`KT-47161`](https://youtrack.jetbrains.com/issue/KT-47161) Serializable class can't be inherited from serializable class in other module with: e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: write$Self - [`KT-47455`](https://youtrack.jetbrains.com/issue/KT-47455) Kotlin lombok plugin NullPointerException - [`KT-47513`](https://youtrack.jetbrains.com/issue/KT-47513) Lombok compiler plugin failed with 'Recursion detected in a lazy value under [LockBasedStorageManager@`1c21db6`](https://github.com/LockBasedStorageManager/kotlin/commit/1c21db60) (TopDownAnalyzer for JVM)' ##### Tools. Gradle - [`KT-47444`](https://youtrack.jetbrains.com/issue/KT-47444) Gradle Plugin: Publishing project with "maven-publish" fails when dependency versions are omitted (NPE in MppDependencyRewritingUtilsKt.associateDependenciesWithActualModuleDependencies) ##### Tools. kapt - [`KT-47416`](https://youtrack.jetbrains.com/issue/KT-47416) Kapt Gradle DSL ignores javaCompilerOptions in 1.5.20 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.21.zip | f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59 | | kotlin-native-linux-1.5.21.tar.gz | 63330f898f307cb2330ef04a5d36ac4cd29128912a2d9a93b8cde5b7b99ec96f | | kotlin-native-macos-1.5.21.tar.gz | 3bf60142e04094112c64ca31d6f3a7382adf210bb222c8b03579bed0d3ff5611 | | kotlin-native-windows-1.5.21.zip | e22212e58a39066ae976a45a8bc877cd2e2018fb9adc321b957779b38561c064 | ### [`v1.5.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.20): Kotlin 1.5.20 ##### [How to update to a new release](https://kotlinlang.org/docs/releases.html#update-to-a-new-release) ##### Changelog ##### Compiler ##### New Features - [`KT-43262`](https://youtrack.jetbrains.com/issue/KT-43262) No error for Java generic class [@&#8203;NotNull](https://github.com/NotNull) type parameter used in Kotlin with nullable type argument - [`KT-44373`](https://youtrack.jetbrains.com/issue/KT-44373) FIR: support error / warning suppression - [`KT-45189`](https://youtrack.jetbrains.com/issue/KT-45189) Support nullability annotations at module level - [`KT-45284`](https://youtrack.jetbrains.com/issue/KT-45284) Emit warnings based on jspecify annotations - [`KT-45525`](https://youtrack.jetbrains.com/issue/KT-45525) Allow to omit JvmInline annotation for expect value classes - [`KT-46545`](https://youtrack.jetbrains.com/issue/KT-46545) Emit annotations on function type parameters into bytecode for -jvm-target 1.8 and above ##### Performance Improvements - [`KT-36646`](https://youtrack.jetbrains.com/issue/KT-36646) Don't box primitive values in equality comparison with objects in JVM_IR ##### Fixes - [`KT-8325`](https://youtrack.jetbrains.com/issue/KT-8325) Unresolved annotation should be an error - [`KT-19455`](https://youtrack.jetbrains.com/issue/KT-19455) Type annotation unresolved on a type parameter of a supertype in anonymous object expression - [`KT-24643`](https://youtrack.jetbrains.com/issue/KT-24643) Prohibit using a type parameter declared for an extension property inside delegate - [`KT-25876`](https://youtrack.jetbrains.com/issue/KT-25876) Annotations on return types and supertypes are not analyzed - [`KT-28449`](https://youtrack.jetbrains.com/issue/KT-28449) Annotation target is not analyzed in several cases for type annotations - [`KT-36770`](https://youtrack.jetbrains.com/issue/KT-36770) Prohibit unsafe calls with expected [@&#8203;NotNull](https://github.com/NotNull) T and given Kotlin generic parameter with nullable bound - [`KT-36880`](https://youtrack.jetbrains.com/issue/KT-36880) K/N IR: Reference to expect property in actual declaration is not remapped - [`KT-38325`](https://youtrack.jetbrains.com/issue/KT-38325) IllegalStateException: No parameter with index 0-0 when iterating Scala 2.12.11 List - [`KT-38342`](https://youtrack.jetbrains.com/issue/KT-38342) FIR: Consider renaming diagnostic from AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY - [`KT-38476`](https://youtrack.jetbrains.com/issue/KT-38476) \[FIR] Forgotten type approximation - [`KT-38540`](https://youtrack.jetbrains.com/issue/KT-38540) Kotlin/Native Set<T>.contains fails with specific enum setup - [`KT-40425`](https://youtrack.jetbrains.com/issue/KT-40425) IrGenerationExtension. Support simple reporting to compiler output (for development/debug) - [`KT-41620`](https://youtrack.jetbrains.com/issue/KT-41620) ClassCastException: Class cannot be cast to java.lang.Void - [`KT-41679`](https://youtrack.jetbrains.com/issue/KT-41679) NI: TYPE_MISMATCH wrong type inference of collection with type Any and integer literal - [`KT-41818`](https://youtrack.jetbrains.com/issue/KT-41818) NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NothingValueException on delegated properties - [`KT-42239`](https://youtrack.jetbrains.com/issue/KT-42239) IR: Report compilation error instead of throwing an exception (effectively crash compiler) when some declaration wasn't found while deserialization - [`KT-42631`](https://youtrack.jetbrains.com/issue/KT-42631) ArrayIndexOutOfBoundsException was thrown during IR lowering - [`KT-43258`](https://youtrack.jetbrains.com/issue/KT-43258) NI: False positive "Suspend function 'invoke' should be called only from a coroutine or another suspend function" when calling suspend operator fun on object property from last expression of a crossinlined suspend lambda - [`KT-44036`](https://youtrack.jetbrains.com/issue/KT-44036) Enum initialization order - [`KT-44511`](https://youtrack.jetbrains.com/issue/KT-44511) FIR DFA: smartcast after `if (nullable ?: boolean)` - [`KT-44554`](https://youtrack.jetbrains.com/issue/KT-44554) RAW FIR: NPE in RawFirBuilder - [`KT-44682`](https://youtrack.jetbrains.com/issue/KT-44682) raw FIR: incorrect source for qualified access - [`KT-44695`](https://youtrack.jetbrains.com/issue/KT-44695) \*\_TYPE_MISMATCH_ON_OVERRIDE checkers do not work for anonymous objects - [`KT-44699`](https://youtrack.jetbrains.com/issue/KT-44699) FIR: incorrect lambda return type (led to a false alarm: PROPERTY_TYPE_MISMATCH_ON_OVERRIDE) - [`KT-44802`](https://youtrack.jetbrains.com/issue/KT-44802) FIR bootstrap: trying to access package private class - [`KT-44813`](https://youtrack.jetbrains.com/issue/KT-44813) FIR bootstrap: various errors in collection-like classes - [`KT-44814`](https://youtrack.jetbrains.com/issue/KT-44814) FIR bootstrap: incorrect cast in when branch - [`KT-44942`](https://youtrack.jetbrains.com/issue/KT-44942) \[FIR] ClassCastException in boostrap tests - [`KT-44995`](https://youtrack.jetbrains.com/issue/KT-44995) FIR: false positive for ANNOTATION_ARGUMENT_MUST_BE_CONST - [`KT-45010`](https://youtrack.jetbrains.com/issue/KT-45010) FIR: lambda arguments of inapplicable call is not resolved - [`KT-45048`](https://youtrack.jetbrains.com/issue/KT-45048) FIR bootstrap: VerifyError on KtUltraLightClass - [`KT-45052`](https://youtrack.jetbrains.com/issue/KT-45052) FIR bootstrap: inapplicable candidate in GenerateSpecTests.kt - [`KT-45121`](https://youtrack.jetbrains.com/issue/KT-45121) FIR IDE: redundant vararg parameter type transformation - [`KT-45136`](https://youtrack.jetbrains.com/issue/KT-45136) Native: dividing Int.MIN_VALUE by -1 crashes or hangs - [`KT-45236`](https://youtrack.jetbrains.com/issue/KT-45236) JVM / IR: "IllegalStateException: Symbol with IrTypeParameterSymbolImpl is unbound" caused by contracts and sealed class - [`KT-45308`](https://youtrack.jetbrains.com/issue/KT-45308) Psi2ir: "AssertionError: TypeAliasDescriptor expected" caused by using typealias from one module as a type in another module without a transitive dependency - [`KT-45316`](https://youtrack.jetbrains.com/issue/KT-45316) \[FIR] Ambiguity between two implicit invokes with receiver - [`KT-45344`](https://youtrack.jetbrains.com/issue/KT-45344) FIR: Wrong inferred type for nullable type parameter - [`KT-45385`](https://youtrack.jetbrains.com/issue/KT-45385) FIR: false positive MUST_BE_INITIALIZED_OR_BE_ABSTRACT after rethrow - [`KT-45475`](https://youtrack.jetbrains.com/issue/KT-45475) \[FIR] No smartcast after throw in if inside try block - [`KT-45508`](https://youtrack.jetbrains.com/issue/KT-45508) False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member - [`KT-45578`](https://youtrack.jetbrains.com/issue/KT-45578) REPL: Unresolved imports are cached for the subsequent compilations - [`KT-45685`](https://youtrack.jetbrains.com/issue/KT-45685) JVM IR: capturing a variable into crossinline suspend lambda makes the function inside inline function no longer unbox Result - [`KT-45584`](https://youtrack.jetbrains.com/issue/KT-45584) \[FIR] Fix overriding property and java function in java class - [`KT-45697`](https://youtrack.jetbrains.com/issue/KT-45697) JVM IR: ISE "Function has no body" on getter of private field in a class present both in sources and dependencies - [`KT-45842`](https://youtrack.jetbrains.com/issue/KT-45842) Compiler doesn't allow a shared class to inherit a platform-specific sealed class - [`KT-45848`](https://youtrack.jetbrains.com/issue/KT-45848) False negative \[SEALED_INHERITOR_IN_DIFFERENT_MODULE] error in compiler for a platform-specific inheritor of a shared sealed class - [`KT-45931`](https://youtrack.jetbrains.com/issue/KT-45931) There is no warning based on nullability java annotation - [`KT-45998`](https://youtrack.jetbrains.com/issue/KT-45998) JVM IR: AE when an accessor to a protected companion object member is being generated in child class - [`KT-46048`](https://youtrack.jetbrains.com/issue/KT-46048) Enum entries init order in companion object - [`KT-46074`](https://youtrack.jetbrains.com/issue/KT-46074) FIR: private-in-file fun interface is considered invisible in this file - [`KT-46173`](https://youtrack.jetbrains.com/issue/KT-46173) No error reporting on annotations on target type of `as` expression in return - [`KT-46235`](https://youtrack.jetbrains.com/issue/KT-46235) JVM IR: Stack overflow error on large expressions - [`KT-46270`](https://youtrack.jetbrains.com/issue/KT-46270) \[FIR] Support `@PublishedAPI` in inline checker - [`KT-46539`](https://youtrack.jetbrains.com/issue/KT-46539) Generate annotations on type parameters bounds in bytecode - [`KT-46578`](https://youtrack.jetbrains.com/issue/KT-46578) JVM IR: IllegalAccessError accessing property delegated to java super class protected field reference - [`KT-46597`](https://youtrack.jetbrains.com/issue/KT-46597) JVM IR: AssertionError: SyntheticAccessorLowering should not attempt to modify other files - crossinline accessor - [`KT-46601`](https://youtrack.jetbrains.com/issue/KT-46601) JVM / IR: IllegalStateException: "Can't find method 'invokeinvoke\`" when default lambda takes inline class parameters - [`KT-46670`](https://youtrack.jetbrains.com/issue/KT-46670) StackOverflowError on inheritance from raw type where class has protobuf-like recursive generics - [`KT-46715`](https://youtrack.jetbrains.com/issue/KT-46715) JVM / IR: "AssertionError: Unbound symbols not allowed IrConstructorSymbolImpl" with enum classes with the same name in test and src folders - [`KT-46759`](https://youtrack.jetbrains.com/issue/KT-46759) JVM IR: CCE in LateinitUsageLowering on [@&#8203;JvmStatic](https://github.com/JvmStatic) lateinit property in object - [`KT-46777`](https://youtrack.jetbrains.com/issue/KT-46777) \[Native] \[IR] Support suspend function as super type - [`KT-46802`](https://youtrack.jetbrains.com/issue/KT-46802) JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" caused by function reference on [@&#8203;JvmStatic](https://github.com/JvmStatic) function with unused default parameters - [`KT-46813`](https://youtrack.jetbrains.com/issue/KT-46813) JVM / IR: "ClassCastException: Integer cannot be cast to class Result" with Flow and `fold` method - [`KT-46822`](https://youtrack.jetbrains.com/issue/KT-46822) JVM IR: StackOverflowError on compiling a large data class - [`KT-46837`](https://youtrack.jetbrains.com/issue/KT-46837) Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMember - [`KT-46921`](https://youtrack.jetbrains.com/issue/KT-46921) JVM / IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by crossinline parameter and label return - [`KT-46984`](https://youtrack.jetbrains.com/issue/KT-46984) Type parameter bounds aren't used to report corresponding mismatch warnings - [`KT-46985`](https://youtrack.jetbrains.com/issue/KT-46985) There aren't warnings by java nullability annotations - [`KT-46986`](https://youtrack.jetbrains.com/issue/KT-46986) There aren't warnings by java nullability annotations - [`KT-46989`](https://youtrack.jetbrains.com/issue/KT-46989) There aren't warnings by java nullability annotations - [`KT-46990`](https://youtrack.jetbrains.com/issue/KT-46990) There aren't warnings by java nullability annotations on method's violated type arguments - [`KT-47019`](https://youtrack.jetbrains.com/issue/KT-47019) K/N: IrProperty.overriddenSymbols can't be used in common IR backend modules yet because it doesn't fully work in Native ##### Docs & Examples - [`KT-33783`](https://youtrack.jetbrains.com/issue/KT-33783) Document when a range created with rangeTo is empty ##### IDE - [`KT-44638`](https://youtrack.jetbrains.com/issue/KT-44638) `clone()` call is unresolved in JVM module of a multiplatform project - [`KT-45629`](https://youtrack.jetbrains.com/issue/KT-45629) \[ULC] KtUltraLightFieldForSourceDeclaration.nameIdentifier returns null - [`KT-44825`](https://youtrack.jetbrains.com/issue/KT-44825) Can't open Kotlin compiler settings in newly created project - [`KT-45908`](https://youtrack.jetbrains.com/issue/KT-45908) Reproduciable 'org.jetbrains.kotlin.idea.caches.resolve.KotlinIdeaResolutionException: Kotlin resolution encountered a problem while analyzing KtNameReferenceExpression' ##### IDE. FIR - [`KT-45175`](https://youtrack.jetbrains.com/issue/KT-45175) FIR IDE: Exception with local property in `init` block - [`KT-45199`](https://youtrack.jetbrains.com/issue/KT-45199) FIR IDE: Error while collecting diagnostic on stale element after replacing element in quickfix - [`KT-45312`](https://youtrack.jetbrains.com/issue/KT-45312) FIR IDE: FIR plugin throws exception on synthetic function ##### IDE. Gradle Integration - [`KT-34401`](https://youtrack.jetbrains.com/issue/KT-34401) KotlinGradleModelBuilder builds models for non-kotlin modules and always trigger full task configuration. - [`KT-45277`](https://youtrack.jetbrains.com/issue/KT-45277) Wrong jvm target in gradle module in IDEA - [`KT-46488`](https://youtrack.jetbrains.com/issue/KT-46488) Import of a multiplatform project with MPP module depending on Kotlin/JVM one fails ##### IDE. Inspections and Intentions - [`KT-45075`](https://youtrack.jetbrains.com/issue/KT-45075) Inspection: Redundant creation of Json format - [`KT-45347`](https://youtrack.jetbrains.com/issue/KT-45347) Sealed interfaces: quickfix to move to package/module of sealed class/interface should not be shown in case of read-only declaration - [`KT-45348`](https://youtrack.jetbrains.com/issue/KT-45348) Sealed interfaces: show error for usage of sealed class/interface from a library in Java source code - [`KT-46063`](https://youtrack.jetbrains.com/issue/KT-46063) In multiplatform code, suggest to generate remaining `when` branches at least for shared sealed classes ##### IDE. Refactorings - [`KT-44431`](https://youtrack.jetbrains.com/issue/KT-44431) Quickfix to move class/interface to proper location: it is allowed to choose test source in JPS project while compiler does not allow it ##### IDE. Native - [`KT-39320`](https://youtrack.jetbrains.com/issue/KT-39320) \[Commonizer] Reduce memory consumption ##### JavaScript - [`KT-40235`](https://youtrack.jetbrains.com/issue/KT-40235) KJS: IR. Broken support for external interface companion - [`KT-40689`](https://youtrack.jetbrains.com/issue/KT-40689) KJS / IR: strange and slow code for kotlin.math.max and kotlin.math.min for Double - [`KT-44138`](https://youtrack.jetbrains.com/issue/KT-44138) KJS / IR: Constant folding works incorrectly with unsigned arithmetic - [`KT-44394`](https://youtrack.jetbrains.com/issue/KT-44394) KJS / IR: `null` companion object for existed stdlib interfaces `NodeFilter` and `SVGUnitTypes` - [`KT-44950`](https://youtrack.jetbrains.com/issue/KT-44950) KJS / IR: "IllegalStateException: Can't find name for declaration" in case of extending export declared class without [@&#8203;JsExport](https://github.com/JsExport) annotation - [`KT-45057`](https://youtrack.jetbrains.com/issue/KT-45057) KJS / IR: "ClassCastException" when using `js` function in init block - [`KT-45361`](https://youtrack.jetbrains.com/issue/KT-45361) KJS / IR: `IrConstructorCall` representing annotation always returns `Unit` - [`KT-46608`](https://youtrack.jetbrains.com/issue/KT-46608) KJS: "Could not load content..." for source maps - [`KT-45655`](https://youtrack.jetbrains.com/issue/KT-45655) KJS: "REINTERPRET_CAST" is not copyable - [`KT-45866`](https://youtrack.jetbrains.com/issue/KT-45866) Default parameter with generic in expect-actual declarations - [`KT-46859`](https://youtrack.jetbrains.com/issue/KT-46859) Exception during IR lowering: NullPointerException was thrown at: optimizations.FoldConstantLowering.tryFoldingUnaryOps ##### KMM Plugin - [`KT-43899`](https://youtrack.jetbrains.com/issue/KT-43899) KMM: Fix "stale framework" usage by XCode & AppCode in default build script ##### Libraries - [`KT-43701`](https://youtrack.jetbrains.com/issue/KT-43701) Stdlib: Expand KDoc of inc() and dec() for operators - [`KT-46002`](https://youtrack.jetbrains.com/issue/KT-46002) Support all Unicode digit chars in digitToInt (JS and Native) - [`KT-46183`](https://youtrack.jetbrains.com/issue/KT-46183) Add default value for ignoreCase in K/N String.replace/replaceFirst - [`KT-46184`](https://youtrack.jetbrains.com/issue/KT-46184) Equivalize isLowerCase and isUpperCase behavior in all platforms ##### Native - [`KT-33175`](https://youtrack.jetbrains.com/issue/KT-33175) IR: String constants with incorrect surrogate pairs aren't preserved during serialization/deserialization - [`KT-44799`](https://youtrack.jetbrains.com/issue/KT-44799) Different behavior with functional interfaces in Kotlin/Native on iOS ##### Native. C Export - [`KT-42796`](https://youtrack.jetbrains.com/issue/KT-42796) \[Reverse C Interop] Package with no public methods generate empty struct in the header, leading to an error ##### Native. ObjC Export - [`KT-38600`](https://youtrack.jetbrains.com/issue/KT-38600) Kotlin MP iOS Target doesn't contain kdoc comments - [`KT-45127`](https://youtrack.jetbrains.com/issue/KT-45127) KMM: hard to pass an error to Kotlin code from implementation of Kotlin method in Swift code ##### Native. Runtime. Memory - [`KT-45063`](https://youtrack.jetbrains.com/issue/KT-45063) Profiling indicates that a lot of time is spent on updateHeapRef on Apple platforms when running KMP code ##### Reflection - [`KT-10838`](https://youtrack.jetbrains.com/issue/KT-10838) Provide sensible toString() for property accessors in reflection - [`KT-13490`](https://youtrack.jetbrains.com/issue/KT-13490) Equality doesn't work for KProperty.Accessor implementations ##### Tools. CLI - [`KT-14772`](https://youtrack.jetbrains.com/issue/KT-14772) ISE (FNFE "Not a directory") on compilation with destination argument clashing with an existing file which is not a directory - [`KT-18184`](https://youtrack.jetbrains.com/issue/KT-18184) CompileEnvironmentException: Invalid jar path on "-d" with .jar in non-existing directory - [`KT-40977`](https://youtrack.jetbrains.com/issue/KT-40977) Report a readable diagnostic on empty -J argument in CLI ##### Tools. Commonizer - [`KT-45497`](https://youtrack.jetbrains.com/issue/KT-45497) \[Commonizer] c-interop commonization: Dependency commonization - [`KT-46077`](https://youtrack.jetbrains.com/issue/KT-46077) \[Commonizer] Add `commonizer_target` to commonized klib's manifest - [`KT-46107`](https://youtrack.jetbrains.com/issue/KT-46107) \[Commonizer] CInteropCommonizerTask receives faulty dependencies in multi module projects containing multiple c-interops - [`KT-46248`](https://youtrack.jetbrains.com/issue/KT-46248) MPP: Compile KotlinMetadata fails with Unresolved reference if only one native platform from shared source set is available - [`KT-46856`](https://youtrack.jetbrains.com/issue/KT-46856) \[Commonizer] Many targets can fail with 'filename too long' ##### Tools. Compiler Plugins - [`KT-7112`](https://youtrack.jetbrains.com/issue/KT-7112) Support calling Lombok-generated methods within same module - [`KT-45538`](https://youtrack.jetbrains.com/issue/KT-45538) Serialization, JVM IR: "AssertionError: No such type argument slot in IrConstructorCallImpl" with inner classes - [`KT-45541`](https://youtrack.jetbrains.com/issue/KT-45541) JVM / IR / Serialization: NullPointerException caused by "Serializable" annotation and local data class - [`KT-46469`](https://youtrack.jetbrains.com/issue/KT-46469) Kotlin Lombok: accessors with `AccessLevel.MODULE` fail to resolve - [`KT-46529`](https://youtrack.jetbrains.com/issue/KT-46529) Kotlin Lombok: with `@Accessors` without explicit `prefix` the prefix from lombok.config is not taken into account - [`KT-46531`](https://youtrack.jetbrains.com/issue/KT-46531) Kotlin Lombok: `lombok.getter.noIsPrefix` is processed depending on character case - [`KT-46920`](https://youtrack.jetbrains.com/issue/KT-46920) NullPointerException in CodeGeneratorVisitor when packing for xcode ##### Tools. Gradle - [`KT-24533`](https://youtrack.jetbrains.com/issue/KT-24533) Kapt should not run when annotation processors are not configured - [`KT-43988`](https://youtrack.jetbrains.com/issue/KT-43988) Enable plugin validation during build - [`KT-45301`](https://youtrack.jetbrains.com/issue/KT-45301) Gradle: Empty `build/kotlin` dir with custom build directory - [`KT-45519`](https://youtrack.jetbrains.com/issue/KT-45519) loadAndroidPluginVersion() impacts performance negatively and noticeably in multimodule Android build - [`KT-45744`](https://youtrack.jetbrains.com/issue/KT-45744) Create Kotlin Gradle Plugin JUnit5 basic test setup - [`KT-45834`](https://youtrack.jetbrains.com/issue/KT-45834) Gradle Plugin read system property related to kotlinCompilerClasspath breaks use of configuration cache - [`KT-46401`](https://youtrack.jetbrains.com/issue/KT-46401) Deprecate 'kotlin.parallel.tasks.in.project' build property - [`KT-46820`](https://youtrack.jetbrains.com/issue/KT-46820) Gradle: kotlinc (1.5.0) race condition causes a NullPointerException - [`KT-47317`](https://youtrack.jetbrains.com/issue/KT-47317) Restore 'kotlinPluginVersion' property in 'KotlinBasePluginWrapper' ##### Tools. Gradle. JS - [`KT-42911`](https://youtrack.jetbrains.com/issue/KT-42911) Support Gradle configuration cache for K/JS tasks - [`KT-45294`](https://youtrack.jetbrains.com/issue/KT-45294) KJS / Gradle: Number of modules in project affects JS tasks configuration cache state size - [`KT-45754`](https://youtrack.jetbrains.com/issue/KT-45754) KJS / IR: Remove adding option of source maps in Gradle plugin - [`KT-46178`](https://youtrack.jetbrains.com/issue/KT-46178) KJS / Dukat: Added as a dependency always without condition - [`KT-46976`](https://youtrack.jetbrains.com/issue/KT-46976) KJS: Broken support for dynamically created `webpack.config.d` - [`KT-47045`](https://youtrack.jetbrains.com/issue/KT-47045) \[Gradle, JS] Task requirements are added to all compilations with same name ##### Tools. Gradle. Multiplatform - [`KT-36679`](https://youtrack.jetbrains.com/issue/KT-36679) MPP Gradle plugin: Improve messaging for the commonizer - [`KT-45832`](https://youtrack.jetbrains.com/issue/KT-45832) CInteropCommonization: Filter out illegal dependencies - [`KT-46394`](https://youtrack.jetbrains.com/issue/KT-46394) Multiplatform: Gradle 7 support - [`KT-46517`](https://youtrack.jetbrains.com/issue/KT-46517) Add kotlin-project-model as api dependency to kotlin-gradle-plugin-api ##### Tools. Gradle. Native - [`KT-27240`](https://youtrack.jetbrains.com/issue/KT-27240) MPP Gradle plugin: Provide a framework packing task for Kotlin/Native - [`KT-39016`](https://youtrack.jetbrains.com/issue/KT-39016) Missing stdlib when the downloading process was aborted - [`KT-40907`](https://youtrack.jetbrains.com/issue/KT-40907) Xcode error after switching between device and simulator: Building for iOS, but the linked and embedded framework was built for iOS Simulator. - [`KT-44059`](https://youtrack.jetbrains.com/issue/KT-44059) iosSimTest tasks are never up-to-date - [`KT-45801`](https://youtrack.jetbrains.com/issue/KT-45801) compileIosMainKotlinMetadata compilation property of gradle task is not initialized and fails with `Execution failed for task ':shared:generateProjectStructureMetadata'` - [`KT-46680`](https://youtrack.jetbrains.com/issue/KT-46680) Register concrete "embedAndSign" tasks instead umbrella - [`KT-46892`](https://youtrack.jetbrains.com/issue/KT-46892) Kotlin Multiplatform Gradle Plugin: EmbedAndSign task always contains a default framework name ##### Tools. Incremental Compile - [`KT-44741`](https://youtrack.jetbrains.com/issue/KT-44741) Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant ##### Tools. JPS - [`KT-34351`](https://youtrack.jetbrains.com/issue/KT-34351) KotlinTargetsIndex creation takes too long even if project doesn't have any kotlin - [`KT-45191`](https://youtrack.jetbrains.com/issue/KT-45191) \[JPS] Marking method as "default" in Java SAM interface doesn't affect dependencies - [`KT-46242`](https://youtrack.jetbrains.com/issue/KT-46242) Support Lombok kotlin plugin in JPS and maven ##### Tools. kapt ##### Performance Improvements - [`KT-28901`](https://youtrack.jetbrains.com/issue/KT-28901) Consider caching annotation processors classloaders ##### Fixes - [`KT-27123`](https://youtrack.jetbrains.com/issue/KT-27123) kapt: missing space in error log makes location non-clickable - [`KT-29929`](https://youtrack.jetbrains.com/issue/KT-29929) \[Kapt] Stub generator uses constant value in method annotation instead of constant name 2. - [`KT-31146`](https://youtrack.jetbrains.com/issue/KT-31146) kapt: executableElement.getAnnotation(JvmOverloads::class.java) returns null - [`KT-32202`](https://youtrack.jetbrains.com/issue/KT-32202) Gradle task kaptKotlin fails: "module not found" in Java 11 modular application - [`KT-34838`](https://youtrack.jetbrains.com/issue/KT-34838) Kapt: 'cannot find symbol' for a top-level property with anonymous delegate - [`KT-35104`](https://youtrack.jetbrains.com/issue/KT-35104) Support [@&#8203;JvmStatic](https://github.com/JvmStatic) in KAPT stubs - [`KT-35167`](https://youtrack.jetbrains.com/issue/KT-35167) Kapt Gradle plugin doesn't handle --module-path javac argument - [`KT-37586`](https://youtrack.jetbrains.com/issue/KT-37586) KAPT: When delegated property use an unknown type (to-be-generated class), `correctTypeError` will mess up the `$delegate` field type - [`KT-39060`](https://youtrack.jetbrains.com/issue/KT-39060) Kapt: correctErrorTypes don't retain return type of getter in Java stub - [`KT-39715`](https://youtrack.jetbrains.com/issue/KT-39715) KaptGenerateStubsTask resolves annotation processor options too early (before execution time) - [`KT-41581`](https://youtrack.jetbrains.com/issue/KT-41581) Kapt doesn't have line breaks between warnings - [`KT-43804`](https://youtrack.jetbrains.com/issue/KT-43804) Kapt fails to preserve parameter names in open suspend functions - [`KT-43686`](https://youtrack.jetbrains.com/issue/KT-43686) KaptWithoutKotlincTask should use `@CompileClasspath` for `kotlinStdlibClasspath` for cache relocateability. - [`KT-45032`](https://youtrack.jetbrains.com/issue/KT-45032) Kapt: NullPointerException: insnList.first must not be null - [`KT-46176`](https://youtrack.jetbrains.com/issue/KT-46176) Kapt: "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3" with delegation and property reference ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.20.zip | edf34263ddaabd48f7ec59661e4c0d1dc868462fd3a1ea323083d0e3e83a8a8b | | kotlin-native-linux-1.5.20.tar.gz | 9449219ec9465b14adda1b730ac14ef02da93e9f98219f7303bf70c4c875b7db | | kotlin-native-macos-1.5.20.tar.gz | 45aadfacaa6680b8eeba0569aaa12af36b33d47ed6a7c7900895f9176f71e1d0 | | kotlin-native-windows-1.5.20.zip | aeee65cdc6dedab8dee9308cf15c7227530c0a24c7342becc2e0d6cd882cd430 | ### [`v1.5.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.10): Kotlin 1.5.10 ##### [How to update to a new release](https://kotlinlang.org/docs/releases.html#update-to-a-new-release) ##### Changelog ##### Compiler ##### Fixes - [`KT-41078`](https://youtrack.jetbrains.com/issue/KT-41078) Incorrect type substitution in contracts with type parameters - [`KT-44770`](https://youtrack.jetbrains.com/issue/KT-44770) JVM / IR: "IllegalArgumentException: Unrecognized Type: \[null]" Jackson doesn't recognize type - [`KT-45084`](https://youtrack.jetbrains.com/issue/KT-45084) JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" when inline class is passed to lambda with >22 parameters - [`KT-45779`](https://youtrack.jetbrains.com/issue/KT-45779) JVM / IR: java.lang.NoSuchMethodError: 'int java.lang.Integer.plus(int)' caused by function reference - [`KT-45941`](https://youtrack.jetbrains.com/issue/KT-45941) JVM IR: local functions use generic type parameters of the outer class in the bytecode, which breaks Bytebuddy and MockK - [`KT-46149`](https://youtrack.jetbrains.com/issue/KT-46149) Generate synthetic classes for SAM adapters with erased instead of generic supertype - [`KT-46189`](https://youtrack.jetbrains.com/issue/KT-46189) JVM IR: tailrec function with capturing lambda in default parameter value leads to NoSuchMethodError at runtime - [`KT-46214`](https://youtrack.jetbrains.com/issue/KT-46214) JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" on a suspend function in an inner class - [`KT-46238`](https://youtrack.jetbrains.com/issue/KT-46238) JVM IR: BootstrapMethodError in JDK 11+ on intersection type passed in arguments of SAM adapter where SAM interface's type parameter has a non-trivial upper bound - [`KT-46259`](https://youtrack.jetbrains.com/issue/KT-46259) JVM IR: local function for adapted function reference is not declared as ACC_SYNTHETIC - [`KT-46284`](https://youtrack.jetbrains.com/issue/KT-46284) JVM IR: "Unbound private symbol IrClassSymbol" on class reference to script class - [`KT-46402`](https://youtrack.jetbrains.com/issue/KT-46402) IllegalAccessError: "CapturedLambdaInterpreter (in unnamed module [@&#8203;0x71b06418](https://github.com/0x71b06418)) cannot access class jdk.internal.org.objectweb.asm.Type" caused by inline function with a suspend parameter in Maven project - [`KT-46408`](https://youtrack.jetbrains.com/issue/KT-46408) JVM IR: BootstrapMethodError due to missing bridge for subclass of generic Java interface - [`KT-46426`](https://youtrack.jetbrains.com/issue/KT-46426) JVM IR: Corrupted .class file when passing Array constructor reference as (inline) lambda - [`KT-46455`](https://youtrack.jetbrains.com/issue/KT-46455) OOM on parsing invalid code with string interpolation - [`KT-46503`](https://youtrack.jetbrains.com/issue/KT-46503) JVM IR: "AssertionError: Unexpected variance in super type argument: out [@&#8203;1](https://github.com/1)" - [`KT-46505`](https://youtrack.jetbrains.com/issue/KT-46505) JVM IR: NullPointerException caused by a callable reference with nullable inline value class parameter - [`KT-46512`](https://youtrack.jetbrains.com/issue/KT-46512) JVM / IR: NoSuchMethodError on SAM conversion of a function reference - [`KT-46515`](https://youtrack.jetbrains.com/issue/KT-46515) IndexOutOfBoundsException: "Empty list doesn't contain element at index 0." on bad variable name in 1.5.0 - [`KT-46516`](https://youtrack.jetbrains.com/issue/KT-46516) JVM IR: "AnalyzerException: Expected I, but found R" on subclassing AbstractMutableList<Int> - [`KT-46524`](https://youtrack.jetbrains.com/issue/KT-46524) Cannot use unsigned literals with api-version < 1.5 even with opt-in - [`KT-46537`](https://youtrack.jetbrains.com/issue/KT-46537) JVM / IR: "IllegalStateException: No noarg super constructor for CLASS" caused by "No-arg" plugin with annotation on child class - [`KT-46540`](https://youtrack.jetbrains.com/issue/KT-46540) JVM / IR: AnalyzerException: Expected an object reference, but found J caused by java.function.Supplier - [`KT-46554`](https://youtrack.jetbrains.com/issue/KT-46554) JVM IR: "IllegalStateException: No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" with value class constructor delegation call - [`KT-46555`](https://youtrack.jetbrains.com/issue/KT-46555) JVM IR: IllegalAccessError when using Java method reference - [`KT-46562`](https://youtrack.jetbrains.com/issue/KT-46562) Kotlin 1.5.0 generates non-serializable lambdas when they should be serializable - [`KT-46568`](https://youtrack.jetbrains.com/issue/KT-46568) JVM IR: "AssertionError: IrCall expected inside JvmStatic wrapper" on compiling protected static function with return type Nothing inside companion object of abstract class - [`KT-46574`](https://youtrack.jetbrains.com/issue/KT-46574) JVM / IR: ClassCastException caused by runBlocking awaiting call while returning Kotlin.Result type. - [`KT-46579`](https://youtrack.jetbrains.com/issue/KT-46579) JVM IR: "IllegalArgumentException: Sequence contains more than one matching element" for Java enum with overloaded values() static method - [`KT-46584`](https://youtrack.jetbrains.com/issue/KT-46584) JVM IR: Intrinsics.needClassReification (UnsupportedOperationException thrown). Property delegate provider crossinline lambda inlining/reification issue - [`KT-46751`](https://youtrack.jetbrains.com/issue/KT-46751) JVM / IR:"ClassCastException: java.lang.String cannot be cast to java.lang.Void" in extension function in Kotlin 1.5 ##### IDE - [`KT-45981`](https://youtrack.jetbrains.com/issue/KT-45981) failed to analyze: java.lang.AssertionError: diagnostic callback has been already registered: Code analysis get stuck in AS 2020.3.1.14 & Kotlin v1.5.0-M2 - [`KT-46622`](https://youtrack.jetbrains.com/issue/KT-46622) 60+ second freezes with Kotlin plugin 1.5.0: GetModuleInfoKt.findJvmStdlibAcrossDependencies ##### IDE. Gradle Integration - [`KT-46417`](https://youtrack.jetbrains.com/issue/KT-46417) \[UNRESOLVED_REFERENCE] For project to project dependencies of native platform test source sets ##### Libraries - [`KT-46280`](https://youtrack.jetbrains.com/issue/KT-46280) JvmRecord annotation missing constructor in common ##### Middle-end. IR - [`KT-44013`](https://youtrack.jetbrains.com/issue/KT-44013) NPE: When calling constructor of a function type while inheriting from it, despite it's an interface ##### Tools. Android Extensions - [`KT-46590`](https://youtrack.jetbrains.com/issue/KT-46590) Kotlin Android Extensions 1.5.0 generates bad writeToParcel() method for nullable Array types ##### Tools. Gradle - [`KT-41142`](https://youtrack.jetbrains.com/issue/KT-41142) Kotlin version conflict when using Kotlin Gradle plugins in pre-compiled script plugin - [`KT-46353`](https://youtrack.jetbrains.com/issue/KT-46353) Optimizations disabled in Gradle 7 for KAPT when generating sources - [`KT-46368`](https://youtrack.jetbrains.com/issue/KT-46368) Memory leak with 1.5.0-RC when building with Gradle - [`KT-46689`](https://youtrack.jetbrains.com/issue/KT-46689) Track -Xuse-old-backend flag usage ##### Tools. Gradle. JS - [`KT-46006`](https://youtrack.jetbrains.com/issue/KT-46006) KJS \ Gradle: Task without declaring an explicit or implicit dependency on `jsGenerateExternalsIntegrated` in Gradle 7 - [`KT-46162`](https://youtrack.jetbrains.com/issue/KT-46162) KJS: Exported items unavailable on dev server - [`KT-46331`](https://youtrack.jetbrains.com/issue/KT-46331) KJS: With `kotlin.js.webpack.major.version=4` browserXRun tasks fail ##### Tools. Parcelize - [`KT-46567`](https://youtrack.jetbrains.com/issue/KT-46567) Kotlin 1.5.0 parcelize compilation fails in new backend when using TypeParceller with nested generics ##### Tools. kapt - [`KT-45532`](https://youtrack.jetbrains.com/issue/KT-45532) Do not create Kapt stubs directory during configuration time ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.10.zip | 2f8de1d73b816354055ff6a4b974b711c11ad55a68b948ed30b38155706b3c4e | | kotlin-native-linux-1.5.10.tar.gz | 0463222fb84e0f997e3c71af89ed1d1c4b3b9894cafffe5fc0ba1f125cf362ea | | kotlin-native-macos-1.5.10.tar.gz | bc227baad4a4c8b5cdf0b1a08fa3fb59132043f2ea88e2343c5f25584f5de3cd | | kotlin-native-windows-1.5.10.zip | e0816d91da9c4c38b3ef8891033185cb183f4a901054c9f17a9c72295ed40324 | ### [`v1.5.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.5.0): Kotlin 1.5.0 ##### Changelog ##### Backend. Native - [`KT-42053`](https://youtrack.jetbrains.com/issue/KT-42053) Support compiler caches for linux_x64 - [`KT-43690`](https://youtrack.jetbrains.com/issue/KT-43690) Support compiler caches for ios_arm64 ##### Backend. IR - [`KT-42684`](https://youtrack.jetbrains.com/issue/KT-42684) StackOverflowError on recursive inline arguments in inline fun ##### Compiler ##### New Features - [`KT-28791`](https://youtrack.jetbrains.com/issue/KT-28791) Kotlin serialization with inline classes - [`KT-30222`](https://youtrack.jetbrains.com/issue/KT-30222) Support JVM target version selection in Kotlin bytecode tool window - [`KT-41884`](https://youtrack.jetbrains.com/issue/KT-41884) Support 'file' target for JvmSynthetic annotation - [`KT-43677`](https://youtrack.jetbrains.com/issue/KT-43677) Support for Java records - [`KT-43920`](https://youtrack.jetbrains.com/issue/KT-43920) Support loading binary Java annotations on fields - [`KT-44278`](https://youtrack.jetbrains.com/issue/KT-44278) Generate SAM-converted lambdas and function references using 'invokedynamic' on JDK 1.8+ - [`KT-44650`](https://youtrack.jetbrains.com/issue/KT-44650) Deprecate JVM target version 1.6 - [`KT-44787`](https://youtrack.jetbrains.com/issue/KT-44787) Suspend functions in fun interfaces - [`KT-44865`](https://youtrack.jetbrains.com/issue/KT-44865) Allow to declare protected constructors in sealed classes - [`KT-44869`](https://youtrack.jetbrains.com/issue/KT-44869) Compiling sealed interface with version less than 1.5: error message from future could be provided ##### Performance Improvements - [`KT-6336`](https://youtrack.jetbrains.com/issue/KT-6336) Optimize generation of local functions - [`KT-7307`](https://youtrack.jetbrains.com/issue/KT-7307) Optimize infix call of String.plus - [`KT-18692`](https://youtrack.jetbrains.com/issue/KT-18692) Optimize '\<optimizable_range> step x' for-in loop - [`KT-19978`](https://youtrack.jetbrains.com/issue/KT-19978) Inefficient bytecode generated for function references undergoing Java SAM conversion - [`KT-23565`](https://youtrack.jetbrains.com/issue/KT-23565) OperationsMapGenerated.kt generates unreasonable amount of bytecode - [`KT-23825`](https://youtrack.jetbrains.com/issue/KT-23825) Tail suspend call utilizing elvis operator does not take advantage of suspend tail call optimization - [`KT-23826`](https://youtrack.jetbrains.com/issue/KT-23826) A suspend function on the right side of a returned || condition is not tail call optimized - [`KT-25348`](https://youtrack.jetbrains.com/issue/KT-25348) No compile time unsigned integer conversion when using hex literal - [`KT-26060`](https://youtrack.jetbrains.com/issue/KT-26060) Support a compiler mode to compile lambda expressions using `invokedynamic` instruction - [`KT-26590`](https://youtrack.jetbrains.com/issue/KT-26590) Do not generate create method for suspend lambdas if its arity >= 2 - [`KT-27427`](https://youtrack.jetbrains.com/issue/KT-27427) Optimize nullable check introduced with 'as' cast - [`KT-28246`](https://youtrack.jetbrains.com/issue/KT-28246) Redundant boxing/unboxing isn't eliminated by the compiler in case of inline classes and javaClass intrinsic - [`KT-30605`](https://youtrack.jetbrains.com/issue/KT-30605) Constant folding doesn't evaluate inv() function - [`KT-36845`](https://youtrack.jetbrains.com/issue/KT-36845) Generate enum-based TABLESWITCH/LOOKUPSWITCH on a value with smart cast to enum in JVM_IR - [`KT-39585`](https://youtrack.jetbrains.com/issue/KT-39585) JVM BE generates redundant accessor calls when accessing static final field lifted from companion - [`KT-40886`](https://youtrack.jetbrains.com/issue/KT-40886) Old JVM BE unspills ACONST_NULL from continuation - [`KT-42621`](https://youtrack.jetbrains.com/issue/KT-42621) Kotlin binary size considerably larger for code extensively using stream API - [`KT-44153`](https://youtrack.jetbrains.com/issue/KT-44153) NI: Low Memory and IntelliJ hangs when quotes in split() are missed - [`KT-45410`](https://youtrack.jetbrains.com/issue/KT-45410) JVM / IR: Extreme performance regression on arithmetic operations inside a loop ##### Fixes - [`KT-6007`](https://youtrack.jetbrains.com/issue/KT-6007) Support changed return type of inlined generic function when lambda returns anonymous object - [`KT-6055`](https://youtrack.jetbrains.com/issue/KT-6055) Failed invoke plus assign on array element accessed via several args through local get/set convention extensions - [`KT-6879`](https://youtrack.jetbrains.com/issue/KT-6879) CompilationException when local classes hierarchy is placed within other local or inner declaration - [`KT-8120`](https://youtrack.jetbrains.com/issue/KT-8120) NoSuchMethodError on local class constructor call inside a local class - [`KT-8199`](https://youtrack.jetbrains.com/issue/KT-8199) "Cannot pop operand off an empty stack" for local class using a captured variable as default value for constructor parameter - [`KT-10835`](https://youtrack.jetbrains.com/issue/KT-10835) "AssertionError: Non-outer parameter incorrectly mapped to outer" when inlining object literal extending inner class - [`KT-12790`](https://youtrack.jetbrains.com/issue/KT-12790) Don't generate synthetic accessors for private inline function/properties - [`KT-13213`](https://youtrack.jetbrains.com/issue/KT-13213) IllegalArgumentException in ByteVector.putUTF8 on attempt to compile file with moderately long string literal - [`KT-14628`](https://youtrack.jetbrains.com/issue/KT-14628) "UnsupportedOperationException: Don't know how to generate outer expression" for nested class inheriting from inner class with a companion object - [`KT-14833`](https://youtrack.jetbrains.com/issue/KT-14833) JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline properties - [`KT-15403`](https://youtrack.jetbrains.com/issue/KT-15403) Suspend operator get wrong code generated by BE (NoSuchMethodError) - [`KT-15404`](https://youtrack.jetbrains.com/issue/KT-15404) Suspend operator set wrong code generated - [`KT-16084`](https://youtrack.jetbrains.com/issue/KT-16084) Proguard can't find enclosing class of let closure inside apply closure - [`KT-16151`](https://youtrack.jetbrains.com/issue/KT-16151) Internal compiler error when using plusAssign operator with mutable map - [`KT-16221`](https://youtrack.jetbrains.com/issue/KT-16221) Support in/!in suspend operators - [`KT-16282`](https://youtrack.jetbrains.com/issue/KT-16282) "Cannot pop operand off an empty stack" for plusAssign with default parameters in setter operator - [`KT-16445`](https://youtrack.jetbrains.com/issue/KT-16445) `java.lang.VerifyError: Bad type on operand stack` when delegating an interface through a private reified function inside an object - [`KT-16520`](https://youtrack.jetbrains.com/issue/KT-16520) Invalid bytecode semantics for set call by convention with default parameters - [`KT-16567`](https://youtrack.jetbrains.com/issue/KT-16567) Inliner creates redundant objects on source inlining - [`KT-16752`](https://youtrack.jetbrains.com/issue/KT-16752) Delegating function interface to function reference does not work - [`KT-17554`](https://youtrack.jetbrains.com/issue/KT-17554) Incorrect cast to Unit generated on annotated when-expression with a single-branch if inside - [`KT-17738`](https://youtrack.jetbrains.com/issue/KT-17738) Java cannot extend class implementing kotlin.collections.Map - [`KT-17753`](https://youtrack.jetbrains.com/issue/KT-17753) Strange behavior of if and return statements - [`KT-18583`](https://youtrack.jetbrains.com/issue/KT-18583) "ISE: Recursive call in a lazy value" for generic sealed class with nested subclass in a `when(this)` with inferred return type - [`KT-19861`](https://youtrack.jetbrains.com/issue/KT-19861) "IllegalStateException: Label wasn't found during iterating through instructions" for `plusAssign` with safe call - [`KT-20306`](https://youtrack.jetbrains.com/issue/KT-20306) Make 'when' over an 'expect' enum class non-exhaustive - [`KT-20869`](https://youtrack.jetbrains.com/issue/KT-20869) kotlin.jvm.internal.DefaultConstructorMarker should be public - [`KT-20996`](https://youtrack.jetbrains.com/issue/KT-20996) IllegalStateException: Cannot get FQ name of local class: class <no name provided> in metadata serialization for common code - [`KT-21014`](https://youtrack.jetbrains.com/issue/KT-21014) Incorrect bytecode generated for 'PrimitiveArray::size' - [`KT-21092`](https://youtrack.jetbrains.com/issue/KT-21092) Reference `javaClass` for generic property: "couldn't transform method node: get()" - [`KT-21778`](https://youtrack.jetbrains.com/issue/KT-21778) "IllegalStateException: Couldn't build context" for inline function inside an anonymous object - [`KT-21900`](https://youtrack.jetbrains.com/issue/KT-21900) VerifyError on equals on generic primitive type - [`KT-22098`](https://youtrack.jetbrains.com/issue/KT-22098) "UnsupportedOperationException: Don't know how to generate outer expression" on extension function call inside lambda in anonymous object super constructor call - [`KT-22488`](https://youtrack.jetbrains.com/issue/KT-22488) Bad line numbers generated for '&&' expression - [`KT-22972`](https://youtrack.jetbrains.com/issue/KT-22972) A compiler bug(?) in Number class descendants - [`KT-23619`](https://youtrack.jetbrains.com/issue/KT-23619) Transform stateless singleton lambda during inline - [`KT-23881`](https://youtrack.jetbrains.com/issue/KT-23881) Declaration of lambda in inlined apply block holds reference to superfluous references causing leak - [`KT-24135`](https://youtrack.jetbrains.com/issue/KT-24135) Calling invoke on crossinline suspend lambda leads to no state-machine - [`KT-24193`](https://youtrack.jetbrains.com/issue/KT-24193) NoClassDefFoundError: java/lang/Cloneable$DefaultImpls on inheritance from Cloneable through an interface - [`KT-24305`](https://youtrack.jetbrains.com/issue/KT-24305) ClassNotFoundException when using Java reflection on local class in an inlined lambda - [`KT-24564`](https://youtrack.jetbrains.com/issue/KT-24564) Custom operator fun set on ByteArray resolves properly but is miscompiled - [`KT-25400`](https://youtrack.jetbrains.com/issue/KT-25400) "NoClassDefFoundError: kotlin/KotlinPackage" with Turkish system locale on macOS - [`KT-26130`](https://youtrack.jetbrains.com/issue/KT-26130) Incorrect method signature for a generic function with inline class as a type parameter upper bound - [`KT-26360`](https://youtrack.jetbrains.com/issue/KT-26360) "Method from super interface has a different signature" for Interface that extends both interfaces with and without [@&#8203;JvmDefault](https://github.com/JvmDefault) - [`KT-26473`](https://youtrack.jetbrains.com/issue/KT-26473) Error on compiling inline class with calls of super methods equals(), hashCode(), toString() - [`KT-26474`](https://youtrack.jetbrains.com/issue/KT-26474) VE “Bad type on operand stack” at runtime on calling toString() method of inline class with calls of super methods (toString(), equals(), hashCode()) inside - [`KT-26592`](https://youtrack.jetbrains.com/issue/KT-26592) Do not generate private suspend functions as synthetic package-private - [`KT-27449`](https://youtrack.jetbrains.com/issue/KT-27449) NoSuchMethodError for local suspend function with suspend lambda parameter with default value - [`KT-27469`](https://youtrack.jetbrains.com/issue/KT-27469) "Cannot pop operand off an empty stack" for compound assignment (plusAssign) with a `vararg` operator get - [`KT-27825`](https://youtrack.jetbrains.com/issue/KT-27825) Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private) - [`KT-27830`](https://youtrack.jetbrains.com/issue/KT-27830) "Incompatible stack heights" with suspend inline function in do while loop that executes suspend lambda - [`KT-28042`](https://youtrack.jetbrains.com/issue/KT-28042) "Cannot pop operand off an empty stack" for a bound callable reference of lambda inside inline function - [`KT-28166`](https://youtrack.jetbrains.com/issue/KT-28166) "Argument 1: expected I, but found R" for generic method with generic parameter or receiver with inline class upper bound - [`KT-28331`](https://youtrack.jetbrains.com/issue/KT-28331) Consider generating accessors for lateinit properties to avoid assertion on each call - [`KT-28573`](https://youtrack.jetbrains.com/issue/KT-28573) Inliner does not update references to transformed object - [`KT-29331`](https://youtrack.jetbrains.com/issue/KT-29331) "AnalyzerException: Argument 1: expected R, but found I" with local generic extension property called on `Int` receiver - [`KT-29595`](https://youtrack.jetbrains.com/issue/KT-29595) NoClassDefFoundError with inline reified function with lambda argument returning anonymous object - [`KT-29802`](https://youtrack.jetbrains.com/issue/KT-29802) Incorrect reification when the same type parameter name is used for different reified types - [`KT-30041`](https://youtrack.jetbrains.com/issue/KT-30041) "AnalyzerException: Expected an object reference, but found ." on nested suspend function calls outer suspend function - [`KT-30066`](https://youtrack.jetbrains.com/issue/KT-30066) Consider adding annotations to ConeKotlinType - [`KT-30280`](https://youtrack.jetbrains.com/issue/KT-30280) Inline class class literal gets unwrapped in annotation arguments - [`KT-30402`](https://youtrack.jetbrains.com/issue/KT-30402) Constant folding works incorrectly with unsigned arithmetics - [`KT-30548`](https://youtrack.jetbrains.com/issue/KT-30548) "java.lang.IndexOutOfBoundsException: Cannot pop operand off an empty stack" while compiling access to a private lateinit companion field - [`KT-30629`](https://youtrack.jetbrains.com/issue/KT-30629) `java.lang.VerifyError: Bad type on operand stack` when using a function reference to a generic property - [`KT-30933`](https://youtrack.jetbrains.com/issue/KT-30933) Inline function produces IllegalAccessError on property reference from different package - [`KT-31136`](https://youtrack.jetbrains.com/issue/KT-31136) "AnalyzerException: Argument 1: expected R, but found I" on x::javaClass when x is inline class object built around primitive type - [`KT-31227`](https://youtrack.jetbrains.com/issue/KT-31227) Prohibit using array based on non-reified type parameters as reified type arguments on JVM - [`KT-31592`](https://youtrack.jetbrains.com/issue/KT-31592) NoSuchMethodException when inlining public function accessing a protected static Java class member - [`KT-31727`](https://youtrack.jetbrains.com/issue/KT-31727) Object expression captures all variables used in constructor - [`KT-32023`](https://youtrack.jetbrains.com/issue/KT-32023) "AnalyzerException: Expected I, but found R" with inline suspend function used with callable reference - [`KT-32115`](https://youtrack.jetbrains.com/issue/KT-32115) NPE during initialization of enum class with delegated property - [`KT-32153`](https://youtrack.jetbrains.com/issue/KT-32153) "AnalyzerException: Expected an object reference, but found ." with recursive suspend local function - [`KT-32351`](https://youtrack.jetbrains.com/issue/KT-32351) ClassNotFoundException for anonymous object implementing interface inside a lambda with data class and inline methods - [`KT-32384`](https://youtrack.jetbrains.com/issue/KT-32384) Safe cast to generic type argument with inline class upper-bound throws NPE instead of ClassCastException - [`KT-32579`](https://youtrack.jetbrains.com/issue/KT-32579) java.lang.VerifyError: Bad type on operand stack on calling inner class of inherited class in super class when casting to inherited class - [`KT-32749`](https://youtrack.jetbrains.com/issue/KT-32749) "VerifyError: Call to wrong <init> method" with inline function and accessing class field from anonymous object - [`KT-32793`](https://youtrack.jetbrains.com/issue/KT-32793) Generated code crashes by ClassCastException with local suspend function and inline class - [`KT-32812`](https://youtrack.jetbrains.com/issue/KT-32812) "AnalyzerException: Argument 1: expected R, but found I" invoking function with default parameter inherited by inline class - [`KT-32821`](https://youtrack.jetbrains.com/issue/KT-32821) Missing unboxing of inline class for complex hierarchy of suspend calls - [`KT-33155`](https://youtrack.jetbrains.com/issue/KT-33155) ClassNotFoundException for qualified this in anonymous object and as a result of inline function call - [`KT-33173`](https://youtrack.jetbrains.com/issue/KT-33173) Internal error: "AnalyzerException: Expected I, but found R" for supercall inside inline lambda from HashSet.remove implementation - [`KT-33577`](https://youtrack.jetbrains.com/issue/KT-33577) NoSuchFieldError with nested anonymous objects accessing outer instance property - [`KT-33836`](https://youtrack.jetbrains.com/issue/KT-33836) Wrong code generated for a local tailrec suspend function. - [`KT-33873`](https://youtrack.jetbrains.com/issue/KT-33873) ClassCastException invoking UByte setter function via reflection - [`KT-34018`](https://youtrack.jetbrains.com/issue/KT-34018) "Cannot pop operand off an empty stack" with inline lambda with callable reference - [`KT-34186`](https://youtrack.jetbrains.com/issue/KT-34186) JDK11: class file contains malformed variable arity method for vararg sealed class constructor - [`KT-34202`](https://youtrack.jetbrains.com/issue/KT-34202) IllegalAccessError on callable reference of function from multifile facade from standard library - [`KT-34255`](https://youtrack.jetbrains.com/issue/KT-34255) [@&#8203;JvmStatic](https://github.com/JvmStatic) tailrec function: "Cannot pop operand off an empty stack" - [`KT-34507`](https://youtrack.jetbrains.com/issue/KT-34507) Incorrect generated code for mutable collection stub methods in case of presence of functions with similar signature - [`KT-34665`](https://youtrack.jetbrains.com/issue/KT-34665) Possible index overflow in optimized "for" loop over withIndex() - [`KT-34754`](https://youtrack.jetbrains.com/issue/KT-34754) Flow builder: "AnalyzerException: Expected an object reference, but found ." with recursive suspend local function - [`KT-34816`](https://youtrack.jetbrains.com/issue/KT-34816) "AnalyzerException: Expected an object reference, but found I" on "this" in inline class member extension suspend function - [`KT-34841`](https://youtrack.jetbrains.com/issue/KT-34841) ClassNotFoundException when invoke param function inside anonymous object method - [`KT-35008`](https://youtrack.jetbrains.com/issue/KT-35008) "AnalyzerException: Expected an object reference, but found I" in inline class companion calling private constructor - [`KT-35166`](https://youtrack.jetbrains.com/issue/KT-35166) `NoSuchMethodError` at runtime with local property delegate on anonymous object referencing another anonymous object - [`KT-35224`](https://youtrack.jetbrains.com/issue/KT-35224) It's possible to pass non-spread arrays after arguments with SAM-conversion - [`KT-35301`](https://youtrack.jetbrains.com/issue/KT-35301) MethodInliner fails with "AssertionError: <init> call doesn't correspond to object transformation info" for qualified this in SAM constructor used as parameter of anonymous object inside inline lambda - [`KT-35419`](https://youtrack.jetbrains.com/issue/KT-35419) `Failed to generate expression: KtNamedFunction` for local suspend tailrec function with receiver - [`KT-35511`](https://youtrack.jetbrains.com/issue/KT-35511) VerifyError: "Bad type on operand stack" after reification - [`KT-35553`](https://youtrack.jetbrains.com/issue/KT-35553) Kotlin compiler generates methods that always have line number 1 for Inline Classes - [`KT-35725`](https://youtrack.jetbrains.com/issue/KT-35725) "AssertionError: Couldn't find a context for a super-call" for `super` member call in property initializer of companion object - [`KT-36420`](https://youtrack.jetbrains.com/issue/KT-36420) ClassCastException with inline class Foo extending generic Comparable<Foo> - [`KT-36713`](https://youtrack.jetbrains.com/issue/KT-36713) AnalyzerException: "Incompatible stack heights" with suspend and inline suspend functions - [`KT-36794`](https://youtrack.jetbrains.com/issue/KT-36794) Move $assertionsDisabled field to the top-level class - [`KT-36853`](https://youtrack.jetbrains.com/issue/KT-36853) IR: UninitializedPropertyAccessException on tailrec with object expression in default argument - [`KT-36875`](https://youtrack.jetbrains.com/issue/KT-36875) "RuntimeException: Trying to access skipped parameter" on synthetic local variable access from inline function - [`KT-36916`](https://youtrack.jetbrains.com/issue/KT-36916) AnalyzerException: Argument 1: expected I, but found R when using inline class with rxjava - [`KT-36957`](https://youtrack.jetbrains.com/issue/KT-36957) Exception during codegen: cannot pop operand off an empty stack (Nothing variable in string interpolation) - [`KT-36984`](https://youtrack.jetbrains.com/issue/KT-36984) SAM adapter classes should be generated as anonymous inner classes in JVM_IR - [`KT-37704`](https://youtrack.jetbrains.com/issue/KT-37704) Incorrect SMAP syntax - [`KT-37716`](https://youtrack.jetbrains.com/issue/KT-37716) "AssertionError: <init> call doesn't correspond to object transformation info" with inline reified type parameter, anonymous object and lambda in constructor call - [`KT-37972`](https://youtrack.jetbrains.com/issue/KT-37972) IllegalAccessError on initializing property reference for a property declared in JvmMultifileClass with -Xmultifile-parts-inherit - [`KT-38100`](https://youtrack.jetbrains.com/issue/KT-38100) Support local delegated properties (not inlined) in new JVM default modes - [`KT-38833`](https://youtrack.jetbrains.com/issue/KT-38833) JVM: java.lang.ClassCastException when loop variable is nullable in for loop over unsigned progression - [`KT-38849`](https://youtrack.jetbrains.com/issue/KT-38849) Read-only variable initialized in non-inline lambda using contract callsInPlace EXACTLY_ONCE is not captured correctly in nested lambdas - [`KT-38869`](https://youtrack.jetbrains.com/issue/KT-38869) JVM BE produces invalid bytecode when inheriting from AbstractList and declaring methods that look like MutableList implementors (but they aren't) - [`KT-38965`](https://youtrack.jetbrains.com/issue/KT-38965) "UnsupportedOperationException: Don't know how to generate outer expression: Closure" with reference to local variable in block argument of anonymous object `by` delegation - [`KT-39289`](https://youtrack.jetbrains.com/issue/KT-39289) CCE in if-else inside annotated 'if' statement - [`KT-39425`](https://youtrack.jetbrains.com/issue/KT-39425) AbstractMethodError: "Receiver class does not define or inherit an implementation of the resolved method" using classes with complex Java and Kotlin inheritance hierarchies. - [`KT-39434`](https://youtrack.jetbrains.com/issue/KT-39434) IllegalAccessError with local delegated property in lambda in inlined function - [`KT-39687`](https://youtrack.jetbrains.com/issue/KT-39687) "Couldn't find captured this" when more than 3 inline functions are nested - [`KT-39784`](https://youtrack.jetbrains.com/issue/KT-39784) "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by JvmOverloads annotation inside an inline class - [`KT-40165`](https://youtrack.jetbrains.com/issue/KT-40165) ClassCastException caused by SAM conversion used on a functional interface with suspended function - [`KT-40179`](https://youtrack.jetbrains.com/issue/KT-40179) "VerifyError: Bad type on operand stack" with parent class `get` extension function and child class `set` extension function which used inside child class `plusAssign` extension function - [`KT-40277`](https://youtrack.jetbrains.com/issue/KT-40277) Fix generic types in special bridge methods - [`KT-40308`](https://youtrack.jetbrains.com/issue/KT-40308) NoSuchFieldError for multiple delegated extension properties with the same name in a companion object - [`KT-40338`](https://youtrack.jetbrains.com/issue/KT-40338) NoSuchFieldError on property without backing field that is called as function reference - [`KT-40392`](https://youtrack.jetbrains.com/issue/KT-40392) Deprecate JvmDefault annotation and old -Xjvm-default modes - [`KT-40396`](https://youtrack.jetbrains.com/issue/KT-40396) NI: Exceptions when ambiguous type argument and generic invoke - [`KT-40510`](https://youtrack.jetbrains.com/issue/KT-40510) "AssertionError: DELEGATION slice must override something" for ByteBuffer delegation - [`KT-40601`](https://youtrack.jetbrains.com/issue/KT-40601) VerifyError: "interface method reference is in an indirect superinterface" when calling [@&#8203;JvmDefault](https://github.com/JvmDefault) suspend method - [`KT-40809`](https://youtrack.jetbrains.com/issue/KT-40809) "Couldn't find captured field" compiler error with local function with recursive call through method reference - [`KT-41056`](https://youtrack.jetbrains.com/issue/KT-41056) Increase stub version due to new "contract" keyword - [`KT-41105`](https://youtrack.jetbrains.com/issue/KT-41105) IllegalStateException: 'Couldn't find declaration file <class name>' with inline delegate declared in another file - [`KT-41165`](https://youtrack.jetbrains.com/issue/KT-41165) "IllegalStateException: Concrete fake override public final fun" when an enum class inherits an interface with a variable 'name' or 'ordinal' - [`KT-41222`](https://youtrack.jetbrains.com/issue/KT-41222) "IllegalStateException: Concrete fake override public final fun" when a class property is inherited as merged 'var' from 'val' and 'var' from parent abstract class and interface properties - [`KT-41255`](https://youtrack.jetbrains.com/issue/KT-41255) JDK 11: "VerifyError: Bad type on operand stack" with long function body with annotated `when` expression - [`KT-41427`](https://youtrack.jetbrains.com/issue/KT-41427) NoSuchMethodError caused by implementation by delegation to function reference - [`KT-41508`](https://youtrack.jetbrains.com/issue/KT-41508) ClassNotFoundException caused by object with overridden function inside a lambda with safe cast receiver - [`KT-41750`](https://youtrack.jetbrains.com/issue/KT-41750) Inline classes: ClassCastExceptionError when calling .withIndex() on Iterator over Array - [`KT-41758`](https://youtrack.jetbrains.com/issue/KT-41758) Deprecate kotlin.Metadata.bytecodeVersion and avoid using it in the compiler - [`KT-41770`](https://youtrack.jetbrains.com/issue/KT-41770) AssertionError: "Asm parameter types should be the same length as Kotlin parameter types" cause by fun interface - [`KT-41874`](https://youtrack.jetbrains.com/issue/KT-41874) "IllegalStateException: Couldn't obtain compiled function body" on extension delegated property with inline operator getValue in a different file - [`KT-41917`](https://youtrack.jetbrains.com/issue/KT-41917) \[FIR] Incorrect calculating property type for override from intersection scope - [`KT-42012`](https://youtrack.jetbrains.com/issue/KT-42012) IllegalAccess to protected field instead of getter - [`KT-42017`](https://youtrack.jetbrains.com/issue/KT-42017) "AssertionError: Unsigned type expected: UInt?" during codegen when a variable of nullable unsigned type is checking for presence in the range - [`KT-42032`](https://youtrack.jetbrains.com/issue/KT-42032) "AnalyzerException: Expected I, but found R" while using Flow.reduce() with suspend function reference - [`KT-42034`](https://youtrack.jetbrains.com/issue/KT-42034) ArrayIndexOutOfBoundsException in PopBackwardPropagationTransformer on external override of function in inline class - [`KT-42064`](https://youtrack.jetbrains.com/issue/KT-42064) "Parameter specified as non-null is null" with default value of the parameter in operator fun - [`KT-42069`](https://youtrack.jetbrains.com/issue/KT-42069) JVM IR: -Xreport-output-files doesn't report any source files for META-INF/\*.kotlin_module files - [`KT-42083`](https://youtrack.jetbrains.com/issue/KT-42083) AbstractMethodError when 'remove' with irrelevant generic parameter but matching JVM signature is present in Kotlin collection class - [`KT-42092`](https://youtrack.jetbrains.com/issue/KT-42092) JVM / IR: "AnalyzerException: Argument 1: expected R, but found J" when trying to add to ArrayList the result of a function applied to int - [`KT-42175`](https://youtrack.jetbrains.com/issue/KT-42175) Psi2ir: "AssertionError: Undefined parameter referenced: <this>" on augmented assignment on this in a BuilderInference lambda - [`KT-42179`](https://youtrack.jetbrains.com/issue/KT-42179) Platform declaration clash when extending abstract Java class implementing 'java.util.Collection' by abstract Kotlin class implementing Kotlin Set or List - [`KT-42321`](https://youtrack.jetbrains.com/issue/KT-42321) JVM IR: do not cast integer value based on the type of a literal receiver of an operator call - [`KT-42337`](https://youtrack.jetbrains.com/issue/KT-42337) NoSuchMethodError in JVM backend with inheritance of private functions in the interface - [`KT-42404`](https://youtrack.jetbrains.com/issue/KT-42404) "Supertypes of the following classes cannot be resolved" in Rider project - [`KT-42472`](https://youtrack.jetbrains.com/issue/KT-42472) No TYPE_INFERENCE_UPPER_BOUND_VIOLATED for Delegated Properties do not check types (in Kotlin 1.4.10) - [`KT-42487`](https://youtrack.jetbrains.com/issue/KT-42487) "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by USELESS_IS_CHECK of Double type - [`KT-42533`](https://youtrack.jetbrains.com/issue/KT-42533) `(N until MIN_VALUE).reversed()` should be an empty progression in for loops - [`KT-42588`](https://youtrack.jetbrains.com/issue/KT-42588) "IllegalStateException: Concrete fake override public open fun" caused by `val` override with `var` with delegation. - [`KT-42634`](https://youtrack.jetbrains.com/issue/KT-42634) Different bridges and abstract stubs behavior in abstract class implementing Map\<K, String> in JVM and JVM_IR - [`KT-42635`](https://youtrack.jetbrains.com/issue/KT-42635) ClassCastException with inline class in for loop - [`KT-42662`](https://youtrack.jetbrains.com/issue/KT-42662) AbstractMethodError when using partially specialized generic Map class - [`KT-42694`](https://youtrack.jetbrains.com/issue/KT-42694) [@&#8203;get](https://github.com/get):Synchronized causes the JVM getter method not to be generated - [`KT-42753`](https://youtrack.jetbrains.com/issue/KT-42753) "VerifyError: Bad invokespecial instruction: interface method reference is in an indirect superinterface" with `jvm-default=all` - [`KT-42879`](https://youtrack.jetbrains.com/issue/KT-42879) JVM: Declaration clash in fun interface implementation returning an inline class - [`KT-42900`](https://youtrack.jetbrains.com/issue/KT-42900) "VerifyError: Bad return type" incorrect bytecode when a property and an extension property in inline class have the same names - [`KT-42946`](https://youtrack.jetbrains.com/issue/KT-42946) FIR2IR: Fix super-calls to Java overrides of special built-in - [`KT-42971`](https://youtrack.jetbrains.com/issue/KT-42971) JVM: "AssertionError: Unsigned type expected: T" with UInt loop range - [`KT-42990`](https://youtrack.jetbrains.com/issue/KT-42990) "AssertionError: Next value after NEW should be one generated by DUP" caused by extension properties with accessors annotataed as [@&#8203;JvmStatic](https://github.com/JvmStatic) - [`KT-43034`](https://youtrack.jetbrains.com/issue/KT-43034) AssertionError: Compiler fails with complicated tailrec + inline case - [`KT-43048`](https://youtrack.jetbrains.com/issue/KT-43048) JVM_IR: Implement coroutines state clearing - [`KT-43050`](https://youtrack.jetbrains.com/issue/KT-43050) JVM IR: incorrect mangling for method with type parameter with inline class bound in the signature - [`KT-43059`](https://youtrack.jetbrains.com/issue/KT-43059) Different bridges behavior in class implementing Map\<String, String> in JVM and JVM_IR - [`KT-43063`](https://youtrack.jetbrains.com/issue/KT-43063) Redundant DefaultImpls delegate is generated in old JVM backend on explicit "duplicate" inheritance from interface - [`KT-43069`](https://youtrack.jetbrains.com/issue/KT-43069) JVM: incorrect generic signature for method with implicit return type Nothing overriding a method from Collection - [`KT-43099`](https://youtrack.jetbrains.com/issue/KT-43099) Tailrec call in not tail-call position leads to internal compiler error - [`KT-43106`](https://youtrack.jetbrains.com/issue/KT-43106) JVM: custom `remove` in Iterator subclass results in a synthetic bridge - [`KT-43120`](https://youtrack.jetbrains.com/issue/KT-43120) JVM: "Expected an object reference, but found ." caused by function which is passed as reference to suspend parameter - [`KT-43167`](https://youtrack.jetbrains.com/issue/KT-43167) JVM IR, serialization: "No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with data class containing property defined in body - [`KT-43255`](https://youtrack.jetbrains.com/issue/KT-43255) Verify error when inheriting from an abstract class implementing Collection with stub-like method in superclass - [`KT-43303`](https://youtrack.jetbrains.com/issue/KT-43303) NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when inferred type argument is not a subtype of type parameter upper bound - [`KT-43333`](https://youtrack.jetbrains.com/issue/KT-43333) AbstractMethodError when calling 'toArray' from Java on a Kotlin Collection with custom internal 'toArray' - [`KT-43334`](https://youtrack.jetbrains.com/issue/KT-43334) AbstractMethodError when calling 'remove' from Java on a Kotlin Collection with custom internal 'remove' - [`KT-43342`](https://youtrack.jetbrains.com/issue/KT-43342) \[FIR2IR] No getter or backing field found for delegated member call - [`KT-43347`](https://youtrack.jetbrains.com/issue/KT-43347) \[FIR] Synthetic setter with unmatched parameter type isn't found - [`KT-43401`](https://youtrack.jetbrains.com/issue/KT-43401) JVM_IR. Additional `synchronized` flag on JvmOverloads-generated adapter for Synchronized function - [`KT-43405`](https://youtrack.jetbrains.com/issue/KT-43405) Turkish locale, Linux Mint: "NoSuchMethodError: 'int\[] kotlin.jvm.internal.Intrinsics$Kotlin.intArrayOf(int\[])'" with `intArrayOf` function call - [`KT-43460`](https://youtrack.jetbrains.com/issue/KT-43460) JVM: redundant private setter is generated in case of multifile facade - [`KT-43473`](https://youtrack.jetbrains.com/issue/KT-43473) "VerifyError: Bad type on operand stack" caused by operator `get` with optional argument in superclass when called via square brackets on subclass - [`KT-43518`](https://youtrack.jetbrains.com/issue/KT-43518) JVM_IR. Additional `strictfp` flag on JvmOverloads-generated adapter for Strictfp function - [`KT-43569`](https://youtrack.jetbrains.com/issue/KT-43569) FIR: inapplicable candidate(s): kotlin/collections/set - [`KT-43616`](https://youtrack.jetbrains.com/issue/KT-43616) \[FIR] Nullable type parameter-based type after merge in if - [`KT-43669`](https://youtrack.jetbrains.com/issue/KT-43669) FIR: No real overrides for FUN IR_EXTERNAL_DECLARATION_STUB - [`KT-43682`](https://youtrack.jetbrains.com/issue/KT-43682) Inline extension method of a multifile library inline class not found - [`KT-43687`](https://youtrack.jetbrains.com/issue/KT-43687) FIR: UnusedChecker does not take annotation arguments into account - [`KT-43688`](https://youtrack.jetbrains.com/issue/KT-43688) FIR: unused checker doesn't handle invokes properly - [`KT-43749`](https://youtrack.jetbrains.com/issue/KT-43749) "UnsupportedOperationException: Don't know how to generate outer expression: Closure" caused by Flow and collect method with function reference as a parameter - [`KT-43812`](https://youtrack.jetbrains.com/issue/KT-43812) JVM IR: SAM wrapper class with generic supertype mentions missing type parameter in the signature - [`KT-43832`](https://youtrack.jetbrains.com/issue/KT-43832) JVM IR: missing bridges for inheritance of class from interface in a complex generic diamond hierarchy - [`KT-43851`](https://youtrack.jetbrains.com/issue/KT-43851) JVM IR: function call returning object instance is removed during constant propagation - [`KT-43864`](https://youtrack.jetbrains.com/issue/KT-43864) JVM: "Assertion error after mandatory stack transformations: incorrect bytecode" with lateinit property of type T, which has a primitive type upperbound - [`KT-43887`](https://youtrack.jetbrains.com/issue/KT-43887) Problem with FunctionReferenceLowering$FunctionReferenceBuilder in kotlin native - [`KT-43912`](https://youtrack.jetbrains.com/issue/KT-43912) JVM internal error: Augment assignment and increment are not supported for local delegated properties and inline properties - [`KT-43915`](https://youtrack.jetbrains.com/issue/KT-43915) Back-end (JVM) Internal error: wrong bytecode generated for default method - [`KT-43938`](https://youtrack.jetbrains.com/issue/KT-43938) NSME when calling 'kotlin.Number' methods on instance of Java class extending Kolin abstract class extending 'kotlin.Number' - [`KT-43942`](https://youtrack.jetbrains.com/issue/KT-43942) org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate function - [`KT-43949`](https://youtrack.jetbrains.com/issue/KT-43949) FIR: unresolved callable reference as lambda return - [`KT-43983`](https://youtrack.jetbrains.com/issue/KT-43983) IllegalStateException: "Couldn't obtain compiled function body for public final suspend inline fun" after moving inline extension function to library - [`KT-43984`](https://youtrack.jetbrains.com/issue/KT-43984) FIR: recursion in overridden symbols - [`KT-43984`](https://youtrack.jetbrains.com/issue/KT-43984) FIR: recursion in overridden symbols - [`KT-44010`](https://youtrack.jetbrains.com/issue/KT-44010) FIR: Inapplicable constructor due to an unresolved reference - [`KT-44030`](https://youtrack.jetbrains.com/issue/KT-44030) FIR2IR: uncached type parameters in delegated property - [`KT-44032`](https://youtrack.jetbrains.com/issue/KT-44032) FIR2IR: uncached type parameters in Java field - [`KT-44050`](https://youtrack.jetbrains.com/issue/KT-44050) FIR: anonymous object as IR parent - [`KT-44054`](https://youtrack.jetbrains.com/issue/KT-44054) FIR2IR: incorrect IR origin for substituted override function - [`KT-44058`](https://youtrack.jetbrains.com/issue/KT-44058) CompilationException: open suspend fun with [@&#8203;JvmStatic](https://github.com/JvmStatic) in open class companion - [`KT-44069`](https://youtrack.jetbrains.com/issue/KT-44069) please remove deprecated usages - [`KT-44066`](https://youtrack.jetbrains.com/issue/KT-44066) FIR Java: override ambiguity with vararg value type - [`KT-44114`](https://youtrack.jetbrains.com/issue/KT-44114) CompilationException when inlining a extension suspend function declared in interface companion with 'this' reference to extension receiver - [`KT-44131`](https://youtrack.jetbrains.com/issue/KT-44131) "UnsupportedOperationException: Don't know how to generate outer expression: Closure" when using suspend lambda and a function reference - [`KT-44140`](https://youtrack.jetbrains.com/issue/KT-44140) JVM IR: compilation of kotlin.Result crashes with IOOBE while generating toString-impl - [`KT-44141`](https://youtrack.jetbrains.com/issue/KT-44141) JVM IR: "ISE: There should be underlying type for inline class type" on usage of type parameter with Result upper bound inside a lambda - [`KT-44192`](https://youtrack.jetbrains.com/issue/KT-44192) Allow a greater number of constants in an enum class - [`KT-44202`](https://youtrack.jetbrains.com/issue/KT-44202) "ClassCastException" when getting delegated property with inline class and Any/Any? type - [`KT-44210`](https://youtrack.jetbrains.com/issue/KT-44210) KJS / IR: "AssertionError: Undefined parameter referenced: <this> defined" caused by plus assign operators in build blocks - [`KT-44233`](https://youtrack.jetbrains.com/issue/KT-44233) \[IR] Collection Stub generation not correctly considering java.util Collection iterators - [`KT-44234`](https://youtrack.jetbrains.com/issue/KT-44234) Private companion property with explicit setter generates invalid bytecode - [`KT-44269`](https://youtrack.jetbrains.com/issue/KT-44269) "\[TAILREC_ON_VIRTUAL_MEMBER_ERROR] Tailrec is not allowed on open members" with Spring annotation and private tailrec function - [`KT-44284`](https://youtrack.jetbrains.com/issue/KT-44284) Make Kotlin binaries publicly unavailable (set KotlinCompilerVersion.IS_PRE_RELEASE = true) - [`KT-44316`](https://youtrack.jetbrains.com/issue/KT-44316) ReenteringLazyValueComputationException when analyzing complex lazy delegate - [`KT-44347`](https://youtrack.jetbrains.com/issue/KT-44347) Back-end (JVM) Internal error: Couldn't transform method node for suspend function with wrong local for Continuation - [`KT-44368`](https://youtrack.jetbrains.com/issue/KT-44368) "IllegalStateException: Error type encountered" when inlining 'invoke' operator without enough information on type variable - [`KT-44412`](https://youtrack.jetbrains.com/issue/KT-44412) JVM IR backend fails to compile break in condition of do while - [`KT-44420`](https://youtrack.jetbrains.com/issue/KT-44420) False NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATION with 1.4.30-RC - [`KT-44429`](https://youtrack.jetbrains.com/issue/KT-44429) JVM IR: unnecessary integer unboxing leads to NPE when using mockito-kotlin - [`KT-44439`](https://youtrack.jetbrains.com/issue/KT-44439) Type inference of generic types failing java interop - [`KT-44440`](https://youtrack.jetbrains.com/issue/KT-44440) Too many Nothings in inferred type - [`KT-44471`](https://youtrack.jetbrains.com/issue/KT-44471) Fix failing script tests after switching to 1.5 - [`KT-44474`](https://youtrack.jetbrains.com/issue/KT-44474) Compiler expects sealed type inheritors from platform specific source-sets in when expression in common source-set - [`KT-44483`](https://youtrack.jetbrains.com/issue/KT-44483) JVM IR: CCE on calling generic vararg function reference with Array expected type - [`KT-44527`](https://youtrack.jetbrains.com/issue/KT-44527) Suspend function with kotlin.Result: ClassCastException class kotlin.Result cannot be cast to class ... - [`KT-44529`](https://youtrack.jetbrains.com/issue/KT-44529) Inline class calls wrong iterator method in for loop - [`KT-44533`](https://youtrack.jetbrains.com/issue/KT-44533) JVM IR: ClassFormatError on synthetic $suspendImpl method generated in interface for a [@&#8203;JvmDefault](https://github.com/JvmDefault) function - [`KT-44540`](https://youtrack.jetbrains.com/issue/KT-44540) Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java class - [`KT-44546`](https://youtrack.jetbrains.com/issue/KT-44546) NI: changed variable fixation order (that can lead to changed resolution) - [`KT-44550`](https://youtrack.jetbrains.com/issue/KT-44550) KotlinBinaryClassCache leaks Kotlin plugin classloader on plugin unload - [`KT-44563`](https://youtrack.jetbrains.com/issue/KT-44563) Type Inference loosing type annotations in lambda type expectation for function calls with block parameters - [`KT-44583`](https://youtrack.jetbrains.com/issue/KT-44583) "Supertypes of the following classes cannot be resolved" error message gives no context - [`KT-44627`](https://youtrack.jetbrains.com/issue/KT-44627) JVM IR: ACCIDENTAL_OVERRIDE when overriding a generic field where the type parameter has a primitive bound - [`KT-44631`](https://youtrack.jetbrains.com/issue/KT-44631) "IndexOutOfBoundsException: Cannot pop operand off an empty stack" caused by a default param in inner class constructor which uses method or field from receiver - [`KT-44647`](https://youtrack.jetbrains.com/issue/KT-44647) "IllegalAccessError: class TestKt tried to access private method" with String Builder `get` and `inc` operator - [`KT-44651`](https://youtrack.jetbrains.com/issue/KT-44651) JVM / IR: "IllegalStateException: Illegal type substitutor" with if-else inside class constructor argument inside another if-else - [`KT-44660`](https://youtrack.jetbrains.com/issue/KT-44660) Internal inline functions in companion object with inline class return type fails compilation - [`KT-44671`](https://youtrack.jetbrains.com/issue/KT-44671) JVM_IR: ClassCastException: Result$Failure cannot be cast to Result with multithreaded coroutines - [`KT-44703`](https://youtrack.jetbrains.com/issue/KT-44703) JVM / IR: "IllegalStateException: Unhandled special name in mangledNameFor" caused by a reference to inline class inside interface's companion with lazy initialization - [`KT-44712`](https://youtrack.jetbrains.com/issue/KT-44712) JVM / IR: Behavior change after enabling with Mockito - [`KT-44714`](https://youtrack.jetbrains.com/issue/KT-44714) Debugger / Coroutines: Local variables are trimmed out too aggressively - [`KT-44722`](https://youtrack.jetbrains.com/issue/KT-44722) JVM IR: ClassCastException with inline class, let and bound function reference - [`KT-44726`](https://youtrack.jetbrains.com/issue/KT-44726) JVM IR: Incorrect KType nullability for platform type reified as non-null - [`KT-44781`](https://youtrack.jetbrains.com/issue/KT-44781) JVM IR: java.lang.NoSuchFieldError: $noName\_0 when calling a crossinline lambda within a suspending lambda - [`KT-44798`](https://youtrack.jetbrains.com/issue/KT-44798) JVM IR: Inherited platform declarations clash for class implementing both List and Set - [`KT-44801`](https://youtrack.jetbrains.com/issue/KT-44801) 1.4.30 JVM IR: Unbound symbols not allowed with anonymous object - [`KT-44803`](https://youtrack.jetbrains.com/issue/KT-44803) FIR bootstrap: incorrect nullability is set for type alias-based type - [`KT-44827`](https://youtrack.jetbrains.com/issue/KT-44827) Non-existing outer class is written in anonymous class for SAM wrapper in inline lambda with capture - [`KT-44837`](https://youtrack.jetbrains.com/issue/KT-44837) JVM / IR: ClassCastException with Result object when it is used by a generic method in a suspend call - [`KT-44875`](https://youtrack.jetbrains.com/issue/KT-44875) JVM_IR. `hashCode` call is generated on interface target in fun interface equality - [`KT-44878`](https://youtrack.jetbrains.com/issue/KT-44878) JVM_IR: "IllegalStateException: Unexpected types" when checking non-nullable variable is `in` range between nullable ones with smart-cast - [`KT-44926`](https://youtrack.jetbrains.com/issue/KT-44926) MPP: Actual typealias to compiled inline class incompatible with expect inline class - [`KT-44947`](https://youtrack.jetbrains.com/issue/KT-44947) Sealed interfaces: Sealed fun interface leads to "NoWhenBranchMatchedException" - [`KT-44993`](https://youtrack.jetbrains.com/issue/KT-44993) JVM IR: VerifyError on getfield with Kotlin generic field and elvis operator - [`KT-45008`](https://youtrack.jetbrains.com/issue/KT-45008) JVM IR: hashCode is generated as invokeinterface if smart cast to interface is present - [`KT-45011`](https://youtrack.jetbrains.com/issue/KT-45011) JVM / IR: "AssertionError: Unbound symbols not allowed" - [`KT-45022`](https://youtrack.jetbrains.com/issue/KT-45022) IR: "AssertionError: Undefined variable referenced" from psi2ir caused by plusAssign operator of object - [`KT-45064`](https://youtrack.jetbrains.com/issue/KT-45064) JVM IR: "java.lang.AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" with member reference to property in another file with private setter - [`KT-45067`](https://youtrack.jetbrains.com/issue/KT-45067) "IllegalArgumentException: Wildcard mast have a bound for annotation of WILDCARD_BOUND position" with BEAM SDK 2.27 - [`KT-45069`](https://youtrack.jetbrains.com/issue/KT-45069) JVM / IR: New SAM conversions mode fails when converting from Unit to Any - [`KT-45131`](https://youtrack.jetbrains.com/issue/KT-45131) JVM / IR: "RuntimeException: Lambda, SAM or anonymous object should have only one constructor" caused by inline class that type cast to reified type parameter inside lambda in inline function - [`KT-45139`](https://youtrack.jetbrains.com/issue/KT-45139) Inline class: AssertionError: Expected top level inline class - [`KT-45166`](https://youtrack.jetbrains.com/issue/KT-45166) JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method of interface" caused by interface with suspend function - [`KT-45187`](https://youtrack.jetbrains.com/issue/KT-45187) JVM / IR: ClassCastException caused by substituting generic type of vararg parameter with java.lang.Void - [`KT-45195`](https://youtrack.jetbrains.com/issue/KT-45195) JVM IR: annotation methods are generated as default interface methods if `allopen` is used - [`KT-45243`](https://youtrack.jetbrains.com/issue/KT-45243) "IllegalStateException: Lambdas shouldn't be visited by ESExpressionVisitor" caused by lambda inside `kotlin.test.assertNotNull` - [`KT-45259`](https://youtrack.jetbrains.com/issue/KT-45259) JVM: ClassCastException caused by Result as lambda parameter type - [`KT-45292`](https://youtrack.jetbrains.com/issue/KT-45292) AssertionError with recursive inline extension property - [`KT-45300`](https://youtrack.jetbrains.com/issue/KT-45300) Deprecate super calls in public-api inline functions - [`KT-45409`](https://youtrack.jetbrains.com/issue/KT-45409) Rename jspecify annotations’ package and default not null annotation - [`KT-45446`](https://youtrack.jetbrains.com/issue/KT-45446) JVM / IR: NullPointerException caused by unreachable code and comparison - [`KT-45721`](https://youtrack.jetbrains.com/issue/KT-45721) JVM / IR: "Unbound symbols not allowed" caused by class reference in sequence lambda - [`KT-45853`](https://youtrack.jetbrains.com/issue/KT-45853) JVM / IR: "Accidental override" caused by inheriting Throwable.getCause from Java interface - [`KT-45861`](https://youtrack.jetbrains.com/issue/KT-45861) Turning warnings into errors for calls with type parameters annotated by [@&#8203;OnlyInputTypes](https://github.com/OnlyInputTypes) - [`KT-45865`](https://youtrack.jetbrains.com/issue/KT-45865) JVM IR: "VerifyError: Bad type on operand stack" with `enumValueOf` on a value from a list of strings - [`KT-45868`](https://youtrack.jetbrains.com/issue/KT-45868) JVM IR: ClassCastException with SAM function in init block when SAM is generated via invokedynamic - [`KT-45920`](https://youtrack.jetbrains.com/issue/KT-45920) JVM IR: "Accidental override" on redefining `get()` in custom Map class - [`KT-45934`](https://youtrack.jetbrains.com/issue/KT-45934) JVM IR: "java.lang.IllegalStateException: Function has no body" for class implementing interface by delegation - [`KT-45945`](https://youtrack.jetbrains.com/issue/KT-45945) JVM / IR: "AssertionError: Unexpected variance in super type argument" with contravariance and intersection types - [`KT-45963`](https://youtrack.jetbrains.com/issue/KT-45963) JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" in Dokka tests - [`KT-45967`](https://youtrack.jetbrains.com/issue/KT-45967) JVM IR: "IllegalAccessError" with invokedynamic to Java SAM over callable reference to private function - [`KT-45982`](https://youtrack.jetbrains.com/issue/KT-45982) Wrong subtyping result on captured types with postponed type variables - [`KT-46007`](https://youtrack.jetbrains.com/issue/KT-46007) JVM / IR: "ClassCastException: kotlin.Unit cannot be cast to java.lang.String" caused by default suspend function in interface - [`KT-46060`](https://youtrack.jetbrains.com/issue/KT-46060) JVM IR: NullPointerException from RangeContainsLowering when `contains` is a [@&#8203;JvmStatic](https://github.com/JvmStatic) function in object - [`KT-46069`](https://youtrack.jetbrains.com/issue/KT-46069) JVM IR: unbound type parameter on generic bound adapted function reference - [`KT-46092`](https://youtrack.jetbrains.com/issue/KT-46092) JVM IR: AssertionError "Array type expected: @&#8203;\[FlexibleNullability] kotlin.CharArray?" on super call to Java constructor with primitive vararg - [`KT-46104`](https://youtrack.jetbrains.com/issue/KT-46104) The message on inline -> value class migration should not say that inline classes are deprecated - [`KT-46131`](https://youtrack.jetbrains.com/issue/KT-46131) Kotlin 1.5.0-RC errors when reading class file - [`KT-46160`](https://youtrack.jetbrains.com/issue/KT-46160) JVM IR: IllegalAccessException at runtime for member reference to JvmMultifileClass member from stdlib - [`KT-46186`](https://youtrack.jetbrains.com/issue/KT-46186) Type inference regression in Kotlin 1.5 with constrained generic return types ##### Docs & Examples - [`KT-45884`](https://youtrack.jetbrains.com/issue/KT-45884) Incorrect description for JVM `toUpperCase` method ##### IDE - [`KT-33233`](https://youtrack.jetbrains.com/issue/KT-33233) Use dependency of library to build built-ins in IDE, instead of loading them from the current classloader - [`KT-34023`](https://youtrack.jetbrains.com/issue/KT-34023) kotlin.KotlinNullPointerException at org.jetbrains.kotlin.backend.common.FunctionsFromAnyGenerator.getPrimaryConstructorProperties(FunctionsFromAnyGenerator.kt:66) - [`KT-35947`](https://youtrack.jetbrains.com/issue/KT-35947) KFunctionN.call is unresolved in IDE in Kotlin/JVM project - [`KT-37702`](https://youtrack.jetbrains.com/issue/KT-37702) Code analysis speed: on-the-fly analysis diagnostics reporting - [`KT-41048`](https://youtrack.jetbrains.com/issue/KT-41048) \[FIR-IDE] Properly implement methods in KtFirPackageScope - [`KT-41671`](https://youtrack.jetbrains.com/issue/KT-41671) Missing nullability information in properties using type inference from get() - [`KT-43824`](https://youtrack.jetbrains.com/issue/KT-43824) KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation - [`KT-44128`](https://youtrack.jetbrains.com/issue/KT-44128) IDE: Kotlin JVM record has incorrect property accessors as seen from Java - [`KT-44487`](https://youtrack.jetbrains.com/issue/KT-44487) MPP, IDE: No error in IDE when sealed class inheritor from common source-set is not used in exhaustive when expression in platform source-set - [`KT-45254`](https://youtrack.jetbrains.com/issue/KT-45254) Highlighting for files with certain errors appears only on second opening - [`KT-46097`](https://youtrack.jetbrains.com/issue/KT-46097) Light classes: Incomplete nullability information for a getter method of a kotlin property defined in private constructor ##### IDE. Decompiler, Indexing, Stubs - [`KT-43699`](https://youtrack.jetbrains.com/issue/KT-43699) IDE: Unresolved extension method from Java code for simple class with typealias and generics (IllegalStateException: Unknown type parameter) - [`KT-44756`](https://youtrack.jetbrains.com/issue/KT-44756) Infinite "UpToDateStubIndexMismatch: PSI and index do not match." with IDEA 2021.1 EAP upon attempt to open "org.gradle.configurationcache" even they seem to be the same ##### IDE. Gradle Integration - [`KT-37127`](https://youtrack.jetbrains.com/issue/KT-37127) Implement precise importing of platforms of root source sets (commonMain/commonTest) when hierarchical multiplatform support is enabled - [`KT-42048`](https://youtrack.jetbrains.com/issue/KT-42048) KJS / Gradle integration: Could not determine the dependencies of task ':webApp:testPackageJson' in Android Studio 4.2 Canary 11 ##### IDE. Gradle. Script - [`KT-46215`](https://youtrack.jetbrains.com/issue/KT-46215) Dead lock on closing project during the import in IJ211 through ScriptDefinitionsManager ##### IDE. Inspections and Intentions - [`KT-23824`](https://youtrack.jetbrains.com/issue/KT-23824) Return lifted out of if condition causes suspend tail call optimization to no longer apply - [`KT-38155`](https://youtrack.jetbrains.com/issue/KT-38155) Lift assignment out of 'if' produces type mismatch without manually adding a semicolon - [`KT-44821`](https://youtrack.jetbrains.com/issue/KT-44821) IDE: False positive NO_ELSE_IN_WHEN caused by sealed class and when in another module - [`KT-46088`](https://youtrack.jetbrains.com/issue/KT-46088) \[IDEA] Incorrect behavior of replace inline class with value class intention ##### IDE. Misc - [`KT-44675`](https://youtrack.jetbrains.com/issue/KT-44675) Incorrect reference to resource into 202 plugin ##### IDE. Refactorings - [`KT-44079`](https://youtrack.jetbrains.com/issue/KT-44079) Sealed Interfaces: Move refactoring should warn about violation of hierarchy restrictions - [`KT-44839`](https://youtrack.jetbrains.com/issue/KT-44839) Sealed interfaces: move refactoring warnings works with "more freedom for sealed classes" rules for language level < 1.5 ##### IDE. Script - [`KT-43288`](https://youtrack.jetbrains.com/issue/KT-43288) Allow push notifications about script configuration /dependencies changes via the `ScriptDefinitionsProvider` EP ##### JavaScript - [`KT-39272`](https://youtrack.jetbrains.com/issue/KT-39272) KJS / IR: Can't use javascript keywords as JsName - [`KT-41650`](https://youtrack.jetbrains.com/issue/KT-41650) JS IR BE: `default` should be a reserved identifier - [`KT-42176`](https://youtrack.jetbrains.com/issue/KT-42176) KJS / IR: Interface default method in sub-interface not resolved correctly from extension on super-interface - [`KT-44103`](https://youtrack.jetbrains.com/issue/KT-44103) \[JSIR] TypeError when bumping from 1.4.20 to 1.4.30-M1 - [`KT-44180`](https://youtrack.jetbrains.com/issue/KT-44180) KJS / IR: NPE in ConstTransformer of compileDevelopmentExecutableKotlinJs/compileProductionExecutableKotlinJs tasks - [`KT-44415`](https://youtrack.jetbrains.com/issue/KT-44415) Kotlin/JS with IR and kotlin-react: "too much recursion" error in runtime in browser - [`KT-44433`](https://youtrack.jetbrains.com/issue/KT-44433) KJS IR: support function interfaces with suspend member - [`KT-44469`](https://youtrack.jetbrains.com/issue/KT-44469) KJS / IR: Incorrect export functions with bridges - [`KT-44718`](https://youtrack.jetbrains.com/issue/KT-44718) MPP/ KJS: "IllegalStateException: Unsupported operation" with serialization plugin and incremental compilation - [`KT-44796`](https://youtrack.jetbrains.com/issue/KT-44796) KJS / IR: default parameter of function with [@&#8203;JsName](https://github.com/JsName) leads to "RangeError: Maximum call stack size exceeded" - [`KT-45059`](https://youtrack.jetbrains.com/issue/KT-45059) KJS / IR: Add possibility for runtime diagnostics of DCE result ##### Libraries - [`KT-12109`](https://youtrack.jetbrains.com/issue/KT-12109) Add stdlib method that combines mapNotNull() and first/firstOrNull() - [`KT-25571`](https://youtrack.jetbrains.com/issue/KT-25571) Make random implementations serializable - [`KT-26234`](https://youtrack.jetbrains.com/issue/KT-26234) Floored division and remainder function for numeric types - [`KT-32996`](https://youtrack.jetbrains.com/issue/KT-32996) kotlin.test: add assertContentEquals for comparing content of arrays, iterables, sequences - [`KT-39177`](https://youtrack.jetbrains.com/issue/KT-39177) Make CharCategory available in common multiplatform code - [`KT-40225`](https://youtrack.jetbrains.com/issue/KT-40225) Support adding kotlin-test as a single dependency, as it should be with a multiplatform library - [`KT-42071`](https://youtrack.jetbrains.com/issue/KT-42071) Strict version of String.toBoolean() - [`KT-42720`](https://youtrack.jetbrains.com/issue/KT-42720) Kotlin ArrayDeque on JVM: provide optimized toArray method - [`KT-42840`](https://youtrack.jetbrains.com/issue/KT-42840) Commonize and generalize String.contentEquals that is currently JVM-only - [`KT-43772`](https://youtrack.jetbrains.com/issue/KT-43772) Kotlin/Native unfinished workers detected. - [`KT-44168`](https://youtrack.jetbrains.com/issue/KT-44168) Prevent storing NaN and negative zero in kotlin.time.Duration - [`KT-44369`](https://youtrack.jetbrains.com/issue/KT-44369) Commonize Char.titlecaseChar() and Char.titlecase() that are currently JVM-only - [`KT-44783`](https://youtrack.jetbrains.com/issue/KT-44783) Add IS_VALUE flag for value classes to kotlinx-metadata-jvm - [`KT-44815`](https://youtrack.jetbrains.com/issue/KT-44815) Remove kotlin-annotations-android and JVM compiler support for @&#8203;ParameterName/@&#8203;DefaultValue/[@&#8203;DefaultNull](https://github.com/DefaultNull) - [`KT-45213`](https://youtrack.jetbrains.com/issue/KT-45213) Update Unicode version used in K/N for Char and String case conversion functions ##### Middle-end. IR - [`KT-43831`](https://youtrack.jetbrains.com/issue/KT-43831) Compilation failed, IrSimpleFunctionPublicSymbolImpl is already bound - [`KT-44100`](https://youtrack.jetbrains.com/issue/KT-44100) KJS / IR: Top level declarations added in IR plugin are not referenceable from other modules - [`KT-45170`](https://youtrack.jetbrains.com/issue/KT-45170) IR: "AssertionError: Single expression value for GET_OBJECT" caused by inc operator of field inside scope function inside object ##### Native - [`KT-42446`](https://youtrack.jetbrains.com/issue/KT-42446) Native: SIGSEGV in Kotlin_Array_get on linuxArm64 - [`KT-43502`](https://youtrack.jetbrains.com/issue/KT-43502) \[K/N] relocation R_X86\_64\_PC32 cannot be used against symbol \__environ; recompile with -fPIC - [`KT-44295`](https://youtrack.jetbrains.com/issue/KT-44295) 1.4.21 Kotlin native ndk compiler crash - [`KT-44774`](https://youtrack.jetbrains.com/issue/KT-44774) ld fails with CALL16 reloc at 0x48f00 not against global symbol (Linux MIPS) - [`KT-44746`](https://youtrack.jetbrains.com/issue/KT-44746) Different hashCode() results for Kotlin/Native stdlib ##### Native. C and ObjC Import - [`KT-44824`](https://youtrack.jetbrains.com/issue/KT-44824) cinterop tool no longer appends .klib to produced klibs ##### Native. C Export - [`KT-36639`](https://youtrack.jetbrains.com/issue/KT-36639) MPP: Build ios "staticLib" or "sharedLib" binary failed if interface contains member extension function - [`KT-41725`](https://youtrack.jetbrains.com/issue/KT-41725) Dynamic library doesn't load on raspberrypi ##### Native. ObjC Export - [`KT-44549`](https://youtrack.jetbrains.com/issue/KT-44549) In the Xcode debug session, call stack is missing a frame when the iOS app fails ##### Native. Platforms - [`KT-45094`](https://youtrack.jetbrains.com/issue/KT-45094) Fail to compile Kotlin Native sources under Oracle Linux 7 ##### Reflection - [`KT-44594`](https://youtrack.jetbrains.com/issue/KT-44594) Avoid using unnecessary array types reflection in kotlin-reflect - [`KT-44782`](https://youtrack.jetbrains.com/issue/KT-44782) Add KClass.isValue to kotlin-reflect ##### Tools. Ant - [`KT-16227`](https://youtrack.jetbrains.com/issue/KT-16227) Ant task: do not include runtime by default if destination is a jar - [`KT-44293`](https://youtrack.jetbrains.com/issue/KT-44293) Support fork mode in kotlinc Ant task ##### Tools. CLI - [`KT-17344`](https://youtrack.jetbrains.com/issue/KT-17344) Include kotlin-reflect to resulting jar if "-include-runtime" is specified - [`KT-43220`](https://youtrack.jetbrains.com/issue/KT-43220) -include-runtime should add .kotlin_builtins to the output - [`KT-43704`](https://youtrack.jetbrains.com/issue/KT-43704) Illegal reflective access by com.intellij.util.ReflectionUtil to method java.util.ResourceBundle.setParent(java.util.ResourceBundle) - [`KT-44078`](https://youtrack.jetbrains.com/issue/KT-44078) Do not include module-info.class of kotlin-stdlib.jar to the resulting jar with -include-runtime - [`KT-44232`](https://youtrack.jetbrains.com/issue/KT-44232) CLI: do not pass -noverify to java process starting from JDK 13 - [`KT-45566`](https://youtrack.jetbrains.com/issue/KT-45566) JDK 16 - e: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.com.intellij.pom.java.LanguageLevel ##### Tools. CLI. Native - [`KT-43874`](https://youtrack.jetbrains.com/issue/KT-43874) Native / CLI: provide a way to show difference between Jvm and Native compilers ##### Tools. Compiler Plugins - [`KT-45783`](https://youtrack.jetbrains.com/issue/KT-45783) Serialization: "AnalyzerException: Expected an object reference, but found I" caused by `JvmInline` and `Serializable` annotations ##### Tools. Gradle - [`KT-31027`](https://youtrack.jetbrains.com/issue/KT-31027) java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of 'java.lang.Boolean' appears in /system/framework/core-libart.jar) - [`KT-43605`](https://youtrack.jetbrains.com/issue/KT-43605) Kotlin Gradle Plugin 1.4.20 undeclared system property reads cause problems with Gradle configuration cache enabled - [`KT-44204`](https://youtrack.jetbrains.com/issue/KT-44204) Kotlin Gradle Plugin 1.4.21 makes impossible to use ANTLR in other plugins - [`KT-44361`](https://youtrack.jetbrains.com/issue/KT-44361) Gradle: deprecate options includeRuntime, noStdlib, noReflect - [`KT-44462`](https://youtrack.jetbrains.com/issue/KT-44462) Kotlin Gradle plugin creates `compile` configuration with Gradle 7.0 - [`KT-44834`](https://youtrack.jetbrains.com/issue/KT-44834) Gradle Kotlin DSL: Add `languageSettings` configuration lambda without `apply` call - [`KT-44949`](https://youtrack.jetbrains.com/issue/KT-44949) Compatibility with Gradle 7.0 - [`KT-44957`](https://youtrack.jetbrains.com/issue/KT-44957) gradle - target.compilations seems to be deprecated - [`KT-45340`](https://youtrack.jetbrains.com/issue/KT-45340) Update minimal supported version of Kotlin Gradle Plugin to 6.1 ##### Tools. Gradle. JS - [`KT-43237`](https://youtrack.jetbrains.com/issue/KT-43237) KJS: `-jsLegacy` Naming Convention is incompatible with NPM - [`KT-43869`](https://youtrack.jetbrains.com/issue/KT-43869) Error in webpack configuration not displayed - [`KT-44614`](https://youtrack.jetbrains.com/issue/KT-44614) Update Node.JS and Yarn versions - [`KT-44616`](https://youtrack.jetbrains.com/issue/KT-44616) Kotlin/JS: IR backend with React: "Uncaught TypeError: \_this\_\_0 is undefined" runtime error in browser - [`KT-45574`](https://youtrack.jetbrains.com/issue/KT-45574) Sync Kotlin/JS compile tasks into one folder (build/js/packages/<package>/kotlin) ##### Tools. Gradle. Multiplatform - [`KT-42098`](https://youtrack.jetbrains.com/issue/KT-42098) Commonizer is re-launched for every included Gradle build - [`KT-43116`](https://youtrack.jetbrains.com/issue/KT-43116) Merge together MultiplatformHighlightingTest and MultiplatformAnalysisTest - [`KT-44322`](https://youtrack.jetbrains.com/issue/KT-44322) KotlinTargetComponent maintenance for -sources.jar - [`KT-44900`](https://youtrack.jetbrains.com/issue/KT-44900) Support gradle configuration cache with kotlin.multiplatform plugin ##### Tools. Gradle. Native - [`KT-46122`](https://youtrack.jetbrains.com/issue/KT-46122) kotlinx-serialization and kotlinx-datetime can't be built with 1.5.0-RC ##### Tools. JPS - [`KT-13631`](https://youtrack.jetbrains.com/issue/KT-13631) Compilation fails on Turkish locale because of locale-sensitive uppercasing - [`KT-44644`](https://youtrack.jetbrains.com/issue/KT-44644) Mark all `@JvmMultifileClass` parts compiled in the previous round as dirty in the JPS plugin, similarly to how it’s done in the Gradle plugin ##### Tools. Scripts - [`KT-45194`](https://youtrack.jetbrains.com/issue/KT-45194) KT: Generate Kotlin Entities script: it doesn't work - [`KT-44580`](https://youtrack.jetbrains.com/issue/KT-44580) Scripts: Unable to set new file annotation hooks after first snippet compilation ##### Tools. kapt - [`KT-43686`](https://youtrack.jetbrains.com/issue/KT-43686) KaptWithoutKotlincTask should use `@CompileClasspath` for `kotlinStdlibClasspath` for cache relocateability. - [`KT-44130`](https://youtrack.jetbrains.com/issue/KT-44130) KAPT changes field order in 1.4.30-M1 - [`KT-44909`](https://youtrack.jetbrains.com/issue/KT-44909) Kapt: ReenteringLazyValueComputationException without stacktrace caused by `when` expression with sealed class function without explicit return type - [`KT-45168`](https://youtrack.jetbrains.com/issue/KT-45168) KAPT: Java stubs generated for Kotlin files generated by annotation processors ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.5.0.zip | 0343fc1f628fec1beccc9e534d2b8b7a0f8964b97e21563585d44d6d928ed1b7 | | kotlin-native-linux-1.5.0.tar.gz | 33241c460fab8c496a6b01ca08670ae7f667df23acc56081f8b37c50b021b50f | | kotlin-native-macos-1.5.0.tar.gz | 246cacdc4791067f4d99d0baf3d58aecfd2c43b54bf9a84f463c1d782c9718b5 | | kotlin-native-windows-1.5.0.zip | 5755391536bcac49c7ef87e0788e595d38776af534eb08cc5ab8879e9f1a855d | ### [`v1.4.32`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.32): Kotlin 1.4.32 #### Changelog ##### IDE - [`KT-43824`](https://youtrack.jetbrains.com/issue/KT-43824) KtLightClassForSourceDeclaration#isInheritor works in a different way than java implementation - [`KT-45287`](https://youtrack.jetbrains.com/issue/KT-45287) LightClasses: `KtLightSimpleModifierList` is no more a parent of `KtLightAnnotationForSourceEntry` - [`KT-45291`](https://youtrack.jetbrains.com/issue/KT-45291) LightClasses: can't get annotations for constructor val-parameter - [`KT-45417`](https://youtrack.jetbrains.com/issue/KT-45417) ULC leakage of primitive type annotations ##### Tools. CLI - [`KT-44758`](https://youtrack.jetbrains.com/issue/KT-44758) kotlin-compiler-embeddable dependency includes unshaded `fastutil` package - [`KT-45007`](https://youtrack.jetbrains.com/issue/KT-45007) Concurrent Kotlin script compilation/execution results in NullPointerException in KeyedExtensionCollector.getPoint() #### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.32.zip | dfef23bb86bd5f36166d4ec1267c8de53b3827c446d54e82322c6b6daad3594c | | kotlin-native-linux-1.4.32.tar.gz | 3712fab4c60484fd8b5538dd018a0023033cb3ea38d2a3023c79b342e4e8b24d | | kotlin-native-macos-1.4.32.tar.gz | a55eb3c60bb9810360c5a992dca34328d806fe13f3bfc3120b49345f569fd3cc | | kotlin-native-windows-1.4.32.zip | 3bd6f1b9293897a45d0b33ee14ca51b33b57d0413b774458c6e4aee393e1b772 | ### [`v1.4.31`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.31): Kotlin 1.4.31 #### 1.4.31 ##### Compiler - [`KT-39776`](https://youtrack.jetbrains.com/issue/KT-39776) 2020.3+: Unresolved reference to Kotlin stdlib function ##### IDE. Gradle Integration - [`KT-44845`](https://youtrack.jetbrains.com/issue/KT-44845) After update to Kotlin 1.4.30 all external dependencies is unresolved in IDE with kotlin.mpp.enableGranularSourceSetsMetadata=true ##### IDE. Gradle. Script - [`KTIJ-11137`](https://youtrack.jetbrains.com/issue/KTIJ-1137) build.gradle.kts: Fatal error during save/load standalone scripts settings - [`KTIJ-898`](https://youtrack.jetbrains.com/issue/KTIJ-898) Unable to import with Kotlin DSL buildscript - NullPointerException in KotlinDslScriptModelProcessorKt.toListOfScriptModels ##### IDE. Multiplatform - [`KTIJ-1200`](https://youtrack.jetbrains.com/issue/KTIJ-1200) KotlinIconProviderKt.addExpectActualMarker takes up to 180+ seconds ##### IDE ##### Fixes - [`KT-44697`](https://youtrack.jetbrains.com/issue/KT-44697) New JVM IR backend notification - narrow its triggering to Kotlin projects - [`KT-44523`](https://youtrack.jetbrains.com/issue/KT-44523) IDE notification for trying new JVM backend - [`KTIJ-696`](https://youtrack.jetbrains.com/issue/KTIJ-696) Freeze during startup of IDEA with intellij project with Kotlin (211-1.4.10-release-IJ1440) #### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.31.zip | b50e7016febf7510325d685ae69cc62f49a7ca7f670cb4e0888112e3ec09c6ec \* | | kotlin-native-linux-1.4.31.tar.gz | 87fc40385ffbd44eebde6487d15e1c5c67c218870b332b525e122f014b7de3e3 | | kotlin-native-macos-1.4.31.tar.gz | 0e351756b382096204d61456f855480ce6b65ac53897c4bfa78a287895f37e32 | | kotlin-native-windows-1.4.31.zip | a60aec97fd21294ab11e57acdd33d37d79db11b22656fa435b791e9a709727b4 | `*` Sorry, Sha256 sum was initially published incorrectly. Now it is fixed. ### [`v1.4.30`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.30): Kotlin 1.4.30 ##### CHANGELOG ##### Android - [`KT-42383`](https://youtrack.jetbrains.com/issue/KT-42383) HMPP: Bad IDEA dependencies: Missing dependency from p1:jvmAndAndroid to p2:jvmAndAndroid ##### Backend. Native - [`KT-38772`](https://youtrack.jetbrains.com/issue/KT-38772) Native: support non-reified type parameters in typeOf - [`KT-42234`](https://youtrack.jetbrains.com/issue/KT-42234) Move LLVM optimization parameters into konan.properties - [`KT-42649`](https://youtrack.jetbrains.com/issue/KT-42649) IndexOutOfBoundsException during InlineClassTransformer lowering - [`KT-42942`](https://youtrack.jetbrains.com/issue/KT-42942) Native: optimize peak backend memory by clearing BindingContext after psi2ir - [`KT-43198`](https://youtrack.jetbrains.com/issue/KT-43198) Native: support `init` blocks inside inline classes ##### Compiler ##### New Features - [`KT-28055`](https://youtrack.jetbrains.com/issue/KT-28055) Support `init` blocks inside inline classes - [`KT-28056`](https://youtrack.jetbrains.com/issue/KT-28056) Consider supporting non-public primary constructors for inline classes - [`KT-41265`](https://youtrack.jetbrains.com/issue/KT-41265) Support noarg compiler plugin for JVM IR - [`KT-42094`](https://youtrack.jetbrains.com/issue/KT-42094) Allow open callable members in expect interfaces - [`KT-43129`](https://youtrack.jetbrains.com/issue/KT-43129) FIR: Support OverloadResolutionByLambdaReturnType - [`KT-43592`](https://youtrack.jetbrains.com/issue/KT-43592) Promote JVM IR compiler backend to Beta - [`KT-43919`](https://youtrack.jetbrains.com/issue/KT-43919) Support loading Java annotations on base classes and implementing interfaces' type arguments - [`KT-44021`](https://youtrack.jetbrains.com/issue/KT-44021) Enable JVM IR backend by default in 1.5 ##### Performance Improvements - [`KT-41352`](https://youtrack.jetbrains.com/issue/KT-41352) JVM IR: reduce bytecode size in for loops and range checks with 'until' by not using inclusive end - [`KT-41644`](https://youtrack.jetbrains.com/issue/KT-41644) NI: Infinite compilation - [`KT-42791`](https://youtrack.jetbrains.com/issue/KT-42791) OutOfMemoryError on compilation using kotlin 1.4 on a class with a lot of type inference - [`KT-42920`](https://youtrack.jetbrains.com/issue/KT-42920) NI: Improve performance around adding constraints ##### Fixes - [`KT-11454`](https://youtrack.jetbrains.com/issue/KT-11454) Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files - [`KT-11732`](https://youtrack.jetbrains.com/issue/KT-11732) Verify error for generic interface method invocation with default parameters - [`KT-14612`](https://youtrack.jetbrains.com/issue/KT-14612) "ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type alias - [`KT-18344`](https://youtrack.jetbrains.com/issue/KT-18344) Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itself - [`KT-18768`](https://youtrack.jetbrains.com/issue/KT-18768) [@&#8203;Notnull](https://github.com/Notnull) annotation from Java does not work with varargs - [`KT-20548`](https://youtrack.jetbrains.com/issue/KT-20548) java.lang.IllegalStateException: Illegal class container on simple Java code parsing - [`KT-22465`](https://youtrack.jetbrains.com/issue/KT-22465) Excessive synthetic method for private setter from superclass - [`KT-23816`](https://youtrack.jetbrains.com/issue/KT-23816) Inline classes: constants and annotations - [`KT-24158`](https://youtrack.jetbrains.com/issue/KT-24158) AE: No receiver found on incomplete code with $-signs - [`KT-24392`](https://youtrack.jetbrains.com/issue/KT-24392) Nullability of Java arrays is read incorrectly if [@&#8203;Nullable](https://github.com/Nullable) annotation has both targets TYPE_USE and VALUE_PARAMETER - [`KT-26229`](https://youtrack.jetbrains.com/issue/KT-26229) Lambda/anonymous function argument in parentheses is not supported for callsInPlace effect - [`KT-29735`](https://youtrack.jetbrains.com/issue/KT-29735) KNPE at `KtEnumEntrySuperclassReferenceExpression.getReferencedElement` with explicit type argument inside enum member constructor - [`KT-31389`](https://youtrack.jetbrains.com/issue/KT-31389) ClassFormatError with companion object in annotation with [@&#8203;JvmStatic](https://github.com/JvmStatic) - [`KT-31907`](https://youtrack.jetbrains.com/issue/KT-31907) ISE: UNIT_EXPECTED_TYPE on parsing array literal inside lambda with Unit return type - [`KT-32228`](https://youtrack.jetbrains.com/issue/KT-32228) Inconsistent boxing/unboxing for inline classes when interface is specialized by object expression - [`KT-32450`](https://youtrack.jetbrains.com/issue/KT-32450) Inline class incorrectly gets re-wrapped when provided to a function - [`KT-35849`](https://youtrack.jetbrains.com/issue/KT-35849) Missing nullability assertion on lambda return value if expected type has generic return value type - [`KT-35902`](https://youtrack.jetbrains.com/issue/KT-35902) Kotlin generates a private parameterless constructor for constructors taking inline class arguments with default values - [`KT-36399`](https://youtrack.jetbrains.com/issue/KT-36399) Gradually support TYPE_USE nullability annotations read from class-files - [`KT-36769`](https://youtrack.jetbrains.com/issue/KT-36769) JVM IR: Missing LVT entries for inline function (default) parameters at call site - [`KT-36982`](https://youtrack.jetbrains.com/issue/KT-36982) JVM IR: SAM adapter classes are generated as synthetic - [`KT-37007`](https://youtrack.jetbrains.com/issue/KT-37007) JVM IR: extraneous property accessors are generated in multifile facade for InlineOnly property - [`KT-37317`](https://youtrack.jetbrains.com/issue/KT-37317) \[FIR] Add support of extension functions in postponed lambda completion - [`KT-38400`](https://youtrack.jetbrains.com/issue/KT-38400) FIR: interface abstract is preferred to Any method in super resolve - [`KT-38536`](https://youtrack.jetbrains.com/issue/KT-38536) JVM IR: bound adapted function references are not inlined - [`KT-38656`](https://youtrack.jetbrains.com/issue/KT-38656) FIR: determine overridden member visibility properly - [`KT-38901`](https://youtrack.jetbrains.com/issue/KT-38901) FIR: Make behavior of integer literals overflow consistent with FE 1.0 - [`KT-39709`](https://youtrack.jetbrains.com/issue/KT-39709) \[FIR] False positive UNINITIALIZED_VARIABLE in presence of complex graph with jumps - [`KT-39923`](https://youtrack.jetbrains.com/issue/KT-39923) Result.Failure will get wrapped with Success when using with RxJava - [`KT-40198`](https://youtrack.jetbrains.com/issue/KT-40198) '$default' methods in 'kotlin/test/AssertionsKt' generated as non-synthetic by JVM_IR - [`KT-40200`](https://youtrack.jetbrains.com/issue/KT-40200) IDE: Multiple top-level main functions in different files: broken highlighting, "No descriptor resolved for FUN" - [`KT-40262`](https://youtrack.jetbrains.com/issue/KT-40262) ACC_DEPRECATED flag not generated for property getter delegate in multifile class facade in JVM_IR - [`KT-40282`](https://youtrack.jetbrains.com/issue/KT-40282) Inline class wrapping Any gets double boxed - [`KT-40464`](https://youtrack.jetbrains.com/issue/KT-40464) JVM_IR does not generate LINENUMBER at closing brace of (suspend) lambda - [`KT-40500`](https://youtrack.jetbrains.com/issue/KT-40500) Warnings reporting by Java nullability annotations doesn't work for not top-level types - [`KT-40926`](https://youtrack.jetbrains.com/issue/KT-40926) IDE import actions do not add required import for convention `invoke()` extension call - [`KT-40948`](https://youtrack.jetbrains.com/issue/KT-40948) IllegalAccessError while initializing val property in EXACTLY_ONCE lambda that is passed to another function - [`KT-40991`](https://youtrack.jetbrains.com/issue/KT-40991) NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED with convention `invoke` call - [`KT-41163`](https://youtrack.jetbrains.com/issue/KT-41163) Double wrapped value in Result class after map operation - [`KT-41284`](https://youtrack.jetbrains.com/issue/KT-41284) Spring CGLIB proxies break auto-generated data class componentN and copy methods when using JVM IR - [`KT-41468`](https://youtrack.jetbrains.com/issue/KT-41468) JVM IR: IllegalAccessError on access to abstract base member from another package, from anonymous object inside abstract class - [`KT-41491`](https://youtrack.jetbrains.com/issue/KT-41491) UNRESOLVED_REFERENCE_WRONG_RECEIVER instead of FUNCTION_EXPECTED when invoking non-functional value as a function - [`KT-41493`](https://youtrack.jetbrains.com/issue/KT-41493) JVM IR: names of classes for local delegated variables contain the variable name twice - [`KT-41792`](https://youtrack.jetbrains.com/issue/KT-41792) \[FIR] Introduce & use ConeAttribute.UnsafeVariance - [`KT-41793`](https://youtrack.jetbrains.com/issue/KT-41793) \[FIR] Make captured types accessible at the end of resolve - [`KT-41809`](https://youtrack.jetbrains.com/issue/KT-41809) JVM IR: name for internal $default method doesn't include module name - [`KT-41810`](https://youtrack.jetbrains.com/issue/KT-41810) JVM IR: Deprecated(HIDDEN) class is incorrectly generated as synthetic - [`KT-41841`](https://youtrack.jetbrains.com/issue/KT-41841) JVM IR: delegates for private functions with default arguments are generated in multifile classes - [`KT-41857`](https://youtrack.jetbrains.com/issue/KT-41857) Flaky 'ConcurrentModificationException' through `kotlin.serialization.DescriptorSerializer` - [`KT-41903`](https://youtrack.jetbrains.com/issue/KT-41903) JVM IR: do not generate LineNumberTable in auto-generated members of data classes - [`KT-41911`](https://youtrack.jetbrains.com/issue/KT-41911) JVM IR: nested big-arity function calls are not lowered - [`KT-41957`](https://youtrack.jetbrains.com/issue/KT-41957) JVM IR: step into suspend function goes to the first line of the file - [`KT-41960`](https://youtrack.jetbrains.com/issue/KT-41960) JVM IR: smart step into members implemented with delegation to interface doesn't work - [`KT-41961`](https://youtrack.jetbrains.com/issue/KT-41961) JVM IR: line numbers are not generated in JvmMultifileClass facade declarations - [`KT-41962`](https://youtrack.jetbrains.com/issue/KT-41962) JVM IR: intermittent -1 line numbers in the state machine cause double stepping in the debugger - [`KT-42001`](https://youtrack.jetbrains.com/issue/KT-42001) Cannot resolve symbol: AssertionError: Module \<sdk 1.8> is not contained in his own dependencies - [`KT-42002`](https://youtrack.jetbrains.com/issue/KT-42002) JVM / IR: IllegalStateException: "No mapping for symbol: VAR IR_TEMPORARY_VARIABLE" caused by named arguments - [`KT-42021`](https://youtrack.jetbrains.com/issue/KT-42021) JVM / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" during IR lowering with suspend conversion - [`KT-42033`](https://youtrack.jetbrains.com/issue/KT-42033) JVM IR: accidental override in Map subclass with custom implementations of some members - [`KT-42036`](https://youtrack.jetbrains.com/issue/KT-42036) IR: "AssertionError: TypeAliasDescriptor expected: deserialized class Nothing" when referencing typealias with [@&#8203;UnsafeVariance](https://github.com/UnsafeVariance) - [`KT-42043`](https://youtrack.jetbrains.com/issue/KT-42043) JVM IR: Don't generate collection stubs when implementing methods with more specific return types - [`KT-42044`](https://youtrack.jetbrains.com/issue/KT-42044) Compiler error when lambda with contract surrounded with parentheses - [`KT-42114`](https://youtrack.jetbrains.com/issue/KT-42114) JVM_IR generates stub for 'removeIf' in abstract classes implementing 'List' and 'Set' - [`KT-42115`](https://youtrack.jetbrains.com/issue/KT-42115) JVM_IR doesn't generate 'next' and 'hasNext' method in an abstract class implementing 'ListIterator' - [`KT-42116`](https://youtrack.jetbrains.com/issue/KT-42116) FIR: Java accessor function should not exist in scope together with relevant property - [`KT-42117`](https://youtrack.jetbrains.com/issue/KT-42117) IR-based evaluator cannot handle Java static final fields - [`KT-42118`](https://youtrack.jetbrains.com/issue/KT-42118) FIR2IR: field-targeted annotation is placed on a property, not on a field - [`KT-42130`](https://youtrack.jetbrains.com/issue/KT-42130) FIR: type variable is observed after when condition analysis - [`KT-42132`](https://youtrack.jetbrains.com/issue/KT-42132) FIR2IR: companion function reference has no dispatch receiver - [`KT-42137`](https://youtrack.jetbrains.com/issue/KT-42137) JVM IR: AbstractMethodError on complex hierarchy where implementation comes from another supertype and has a more specific type - [`KT-42186`](https://youtrack.jetbrains.com/issue/KT-42186) JVM / IR: Infinite cycle in for expression when unsigned bytes are used in decreasing loop range - [`KT-42251`](https://youtrack.jetbrains.com/issue/KT-42251) JVM / IR: "IllegalStateException: Descriptor can be left only if it is last" when comparing the i-th element of the container of Int? and `i` with change - [`KT-42253`](https://youtrack.jetbrains.com/issue/KT-42253) JVM IR: NoSuchFieldError on local delegated property in inline function whose call site happens before declaration in the source - [`KT-42281`](https://youtrack.jetbrains.com/issue/KT-42281) JVM / IR: AnalyzerException when comparing Int and array that cast to Any in if condition - [`KT-42340`](https://youtrack.jetbrains.com/issue/KT-42340) FIR2IR: duplicating fake overrides - [`KT-42344`](https://youtrack.jetbrains.com/issue/KT-42344) IR-based evaluator doesn't support "annotation in annotation" - [`KT-42346`](https://youtrack.jetbrains.com/issue/KT-42346) FIR: double-vararg in IR while resolving collection literal as Java annotation argument - [`KT-42348`](https://youtrack.jetbrains.com/issue/KT-42348) FIR: false UNINITIALIZED_VARIABLE in local class - [`KT-42350`](https://youtrack.jetbrains.com/issue/KT-42350) FIR: false UNINITIALIZED_VARIABLE after initialization in try block - [`KT-42351`](https://youtrack.jetbrains.com/issue/KT-42351) FIR: false HIDDEN in enum entry member call - [`KT-42354`](https://youtrack.jetbrains.com/issue/KT-42354) JVM / IR: "AssertionError: Unexpected IR element found during code generation" with KProperty `get` invocation - [`KT-42359`](https://youtrack.jetbrains.com/issue/KT-42359) FIR2IR: cannot mangle type parameter - [`KT-42373`](https://youtrack.jetbrains.com/issue/KT-42373) FIR2IR: local object nested class has no parent if forward-referenced by nested class supertype - [`KT-42384`](https://youtrack.jetbrains.com/issue/KT-42384) FIR (BE): top-level field has no parent class in BE - [`KT-42496`](https://youtrack.jetbrains.com/issue/KT-42496) FIR resolve: synthetic property is written but has no setter - [`KT-42517`](https://youtrack.jetbrains.com/issue/KT-42517) FIR: exception in BE for recursive inline call - [`KT-42530`](https://youtrack.jetbrains.com/issue/KT-42530) "AssertionError: No type for resolved lambda argument" on attempting to assign a Pair to a couple of values in a scratch file - [`KT-42601`](https://youtrack.jetbrains.com/issue/KT-42601) \[FIR] Inherited declaration clash for stdlib inheritors - [`KT-42622`](https://youtrack.jetbrains.com/issue/KT-42622) NI: IllegalStateException for if expression with method reference inside flow - [`KT-42642`](https://youtrack.jetbrains.com/issue/KT-42642) ISE: No `getProgressionLastElement` for progression type IntProgressionType - [`KT-42650`](https://youtrack.jetbrains.com/issue/KT-42650) JVM IR: extraneous nullability annotation on a generic function of a flexible type - [`KT-42656`](https://youtrack.jetbrains.com/issue/KT-42656) FIR2IR: unsupported callable reference for Java field - [`KT-42725`](https://youtrack.jetbrains.com/issue/KT-42725) Debugger steps into core library inline functions in chained calls - [`KT-42758`](https://youtrack.jetbrains.com/issue/KT-42758) JVM / IR: Deserialized object that overrides readResolve() is not reference equal to the singleton instance - [`KT-42770`](https://youtrack.jetbrains.com/issue/KT-42770) FIR: duplicating signatures in mangler (typealias for functional type) - [`KT-42771`](https://youtrack.jetbrains.com/issue/KT-42771) FIR: duplicating signature in mangler (data class with delegate) - [`KT-42814`](https://youtrack.jetbrains.com/issue/KT-42814) FIR: false UNINITIALIZED_VARIABLE in local function after if...else - [`KT-42844`](https://youtrack.jetbrains.com/issue/KT-42844) FIR: Property write in init block resolved to parameter write - [`KT-42846`](https://youtrack.jetbrains.com/issue/KT-42846) JVM_IR: NPE on function reference to [@&#8203;JvmStatic](https://github.com/JvmStatic) method in a different file - [`KT-42933`](https://youtrack.jetbrains.com/issue/KT-42933) JVM / IR: "AnalyzerException: Expected an object reference, but found I" with local delegate in inline class - [`KT-43006`](https://youtrack.jetbrains.com/issue/KT-43006) JVM/JVM_IR: do not generate no-arg constructor for constructor with default arguments if there are inline class types in the signature - [`KT-43017`](https://youtrack.jetbrains.com/issue/KT-43017) JVM / IR: AssertionError when callable reference passed into a function requiring a suspendable function - [`KT-43051`](https://youtrack.jetbrains.com/issue/KT-43051) JVM IR: extraneous methods overridding default (Java 8) collection methods in inline class that extends MutableList - [`KT-43067`](https://youtrack.jetbrains.com/issue/KT-43067) Inner class declaration inside inline class should be prohibited - [`KT-43068`](https://youtrack.jetbrains.com/issue/KT-43068) JVM IR: no generic signatures for explicitly written methods in a List subclass, whose signature coincides with MutableList methods - [`KT-43132`](https://youtrack.jetbrains.com/issue/KT-43132) JVM / IR: Method name '\<get-...>' in class '...$screenTexts$1$1' cannot be represented in dex format. - [`KT-43145`](https://youtrack.jetbrains.com/issue/KT-43145) JVM IR: $default methods in multi-file facades are generated as non-synthetic final - [`KT-43156`](https://youtrack.jetbrains.com/issue/KT-43156) FIR: false UNINITIALIZED_VARIABLE after initialization in `synchronized` block - [`KT-43196`](https://youtrack.jetbrains.com/issue/KT-43196) JVM: extra non-static member is generated for extension property in inline class - [`KT-43199`](https://youtrack.jetbrains.com/issue/KT-43199) JVM IR: synthetic flag for deprecated-hidden is not generated for DeprecatedSinceKotlin and deprecation from override - [`KT-43207`](https://youtrack.jetbrains.com/issue/KT-43207) JVM IR: no collection stub for `iterator` is generated on extending AbstractCollection - [`KT-43217`](https://youtrack.jetbrains.com/issue/KT-43217) JVM_IR: Multiple FAKE_OVERRIDES for java methods using [@&#8203;NonNull](https://github.com/NonNull) Double and java double - [`KT-43225`](https://youtrack.jetbrains.com/issue/KT-43225) Confusing message of warning NULLABLE_TYPE_PARAMETER_AGAINST_NOT_NULL_TYPE_PARAMETER - [`KT-43226`](https://youtrack.jetbrains.com/issue/KT-43226) "Incompatible stack heights" with non-local return to outer lambda inside suspend lambda - [`KT-43242`](https://youtrack.jetbrains.com/issue/KT-43242) JVM / IR: "AnalyzerException: Expected I, but found R" caused by `when` inside object with [@&#8203;Nullable](https://github.com/Nullable) Integer subject - [`KT-43249`](https://youtrack.jetbrains.com/issue/KT-43249) Wrong code generated for suspend lambdas with inline class parameters - [`KT-43286`](https://youtrack.jetbrains.com/issue/KT-43286) JVM IR: IAE "Inline class types should have the same representation: Lkotlin/UInt; != I" on smart cast of unsigned type value with JVM target 1.8 - [`KT-43326`](https://youtrack.jetbrains.com/issue/KT-43326) JVM_IR: No deprecated flag for getter of deprecated interface property copied to DefaultImpls - [`KT-43327`](https://youtrack.jetbrains.com/issue/KT-43327) JVM_IR: No deprecated or synthetic flag for accessors of deprecated-hidden property of unsigned type - [`KT-43332`](https://youtrack.jetbrains.com/issue/KT-43332) FIR: Smart casts lead to false-positive ambiguity - [`KT-43370`](https://youtrack.jetbrains.com/issue/KT-43370) JVM IR: No deprecated flag for getter of deprecated property copied via delegation by interface - [`KT-43459`](https://youtrack.jetbrains.com/issue/KT-43459) JVM_IR. Wrong signature for synthetic $annotations method for extension property on nullable primitive - [`KT-43478`](https://youtrack.jetbrains.com/issue/KT-43478) NI: "IndexOutOfBoundsException: Index: 3, Size: 3" caused by `is` check with raw type inside `if` condition with `when` inside - [`KT-43519`](https://youtrack.jetbrains.com/issue/KT-43519) JVM_IR. External functions generated differently in multi file facades - [`KT-43524`](https://youtrack.jetbrains.com/issue/KT-43524) JVM_IR. Missed deprecation flag on companion [@&#8203;JvmStatic](https://github.com/JvmStatic) property accessor - [`KT-43525`](https://youtrack.jetbrains.com/issue/KT-43525) Prohibit JvmOverloads on declarations with inline class types in parameters - [`KT-43536`](https://youtrack.jetbrains.com/issue/KT-43536) JVM IR: IllegalStateException is not caught by runCatching under Deferred.await() with kotlinx.coroutines - [`KT-43562`](https://youtrack.jetbrains.com/issue/KT-43562) JVM IR: incorrect mangling for Collection.size in unsigned arrays - [`KT-43584`](https://youtrack.jetbrains.com/issue/KT-43584) \[FIR] Java annotations with named arguments aren't loaded correctly - [`KT-43587`](https://youtrack.jetbrains.com/issue/KT-43587) Invalid default parameter value in expect actual declaration on jvm - [`KT-43630`](https://youtrack.jetbrains.com/issue/KT-43630) "AssertionError: Number of arguments should not be less than number of parameters" during capturing intersection raw type with star projection - [`KT-43698`](https://youtrack.jetbrains.com/issue/KT-43698) NoSuchMethodError for inline class implementing interface with [@&#8203;JvmDefault](https://github.com/JvmDefault) methods, -Xjvm-default=enable - [`KT-43741`](https://youtrack.jetbrains.com/issue/KT-43741) Report error on inline class implementing 'kotlin.Cloneable' - [`KT-43845`](https://youtrack.jetbrains.com/issue/KT-43845) org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtBlockExpression - [`KT-43956`](https://youtrack.jetbrains.com/issue/KT-43956) NI: "Error type encountered – UninferredParameterTypeConstructor" on "try" and other constructs with code block as a value - [`KT-44055`](https://youtrack.jetbrains.com/issue/KT-44055) Left uninferred type parameter for callable references inside special calls - [`KT-44113`](https://youtrack.jetbrains.com/issue/KT-44113) Compiler frontend exception: Number of arguments should not be less than number of parameters, but: parameters=2, args=1 - [`KT-44145`](https://youtrack.jetbrains.com/issue/KT-44145) No highlighting for not initialized base constructor and NoSuchMethodError in Android plugin - [`KT-44540`](https://youtrack.jetbrains.com/issue/KT-44540) Regression in 1.4.30 in intellij-community: type mismatch for generic function call with generic Java class - [`KT-44563`](https://youtrack.jetbrains.com/issue/KT-44563) Type Inference loosing type annotations in lambda type expectation for function calls with block parameters ##### IDE ##### New Features - [`KT-44075`](https://youtrack.jetbrains.com/issue/KT-44075) Sealed interfaces: New Kotlin Class/File menu update ##### Fixes - [`KT-29454`](https://youtrack.jetbrains.com/issue/KT-29454) Light class with unexpected name when using obfuscated library - [`KT-31553`](https://youtrack.jetbrains.com/issue/KT-31553) Complete Statement: Wrong auto-insertion of closing curly brace for a code block - [`KT-33466`](https://youtrack.jetbrains.com/issue/KT-33466) IDE generates incorrect `external override` with body for overriding `open external` method - [`KT-39458`](https://youtrack.jetbrains.com/issue/KT-39458) Add CLI support for UL classes - [`KT-40403`](https://youtrack.jetbrains.com/issue/KT-40403) UAST: PsiMethod for invoked extension function/property misses `@receiver:` annotations - [`KT-41406`](https://youtrack.jetbrains.com/issue/KT-41406) Kotlin doesn't report annotations for type arguments (no way to add `@Nls`, `@NonNls` annotations to String collections in Kotlin) - [`KT-41420`](https://youtrack.jetbrains.com/issue/KT-41420) UAST does not return information about type annotations - [`KT-42194`](https://youtrack.jetbrains.com/issue/KT-42194) OOME: Java heap space from incremental compilation - [`KT-42754`](https://youtrack.jetbrains.com/issue/KT-42754) MPP: no smart cast for Common nullable property used in platform module - [`KT-42821`](https://youtrack.jetbrains.com/issue/KT-42821) MPP, IDE: Platform-specific errors are reported even when build doesn't target that platform - [`KT-44116`](https://youtrack.jetbrains.com/issue/KT-44116) Add language version 1.5 to the compiler configuration preferences - [`KT-44523`](https://youtrack.jetbrains.com/issue/KT-44523) IDE notification for trying new JVM backend - [`KT-44543`](https://youtrack.jetbrains.com/issue/KT-44543) Kotlin's LowMemoryWatcher leaks on Kotlin plugin unload ##### IDE. Android - [`KT-42381`](https://youtrack.jetbrains.com/issue/KT-42381) MPP: Bad IDEA dependencies: JVM module depending on built artifact instead of sources of module with Android Plugin applied ##### IDE. Completion - [`KT-44016`](https://youtrack.jetbrains.com/issue/KT-44016) Code completion: support for "sealed interface" - [`KT-44250`](https://youtrack.jetbrains.com/issue/KT-44250) Code completion does not work in when expression with sealed type argument ##### IDE. Gradle. Script - [`KT-39105`](https://youtrack.jetbrains.com/issue/KT-39105) AE “JvmBuiltins has not been initialized properly” after creating new Gradle/Kotlin-based project via old Project Wizard ##### IDE. Inspections and Intentions ##### New Features - [`KT-22666`](https://youtrack.jetbrains.com/issue/KT-22666) "Create enum constant" quick fix could be provided - [`KT-24556`](https://youtrack.jetbrains.com/issue/KT-24556) Add Remove quick fix for "Expression under 'when' is never equal to null" - [`KT-34121`](https://youtrack.jetbrains.com/issue/KT-34121) Report unused result of data class `copy` method - [`KT-34533`](https://youtrack.jetbrains.com/issue/KT-34533) INLINE_CLASS_CONSTRUCTOR_NOT_FINAL_READ_ONLY_PARAMETER: Add quickfix "Add val to parameter" - [`KT-35215`](https://youtrack.jetbrains.com/issue/KT-35215) Quickfix for CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT to remove `const` modifier - [`KT-40251`](https://youtrack.jetbrains.com/issue/KT-40251) Intention action to evaluate compile time expression - [`KT-44017`](https://youtrack.jetbrains.com/issue/KT-44017) Sealed interfaces: Java side Inspection "implementation of Kotlin sealed interface is forbidden" - [`KT-43941`](https://youtrack.jetbrains.com/issue/KT-43941) Sealed interfaces: intention to extend class/interface - [`KT-44043`](https://youtrack.jetbrains.com/issue/KT-44043) Sealed interfaces: quickfix to move class/interface to proper location ##### Fixes - [`KT-20420`](https://youtrack.jetbrains.com/issue/KT-20420) Intention "Put arguments/parameters on separate lines" doesn't respect the "Place ')' on new line" Kotlin code style setting - [`KT-21799`](https://youtrack.jetbrains.com/issue/KT-21799) Quickfix "Change function signature" for receiver type doesn't change it - [`KT-22665`](https://youtrack.jetbrains.com/issue/KT-22665) "Create object" quick fix produce wrong code for enum - [`KT-23934`](https://youtrack.jetbrains.com/issue/KT-23934) IntelliJ suggest "merge map to joinToString" even when such action is impossible due to suspending actions in map - [`KT-30894`](https://youtrack.jetbrains.com/issue/KT-30894) Wrong results of intention "Add names to call arguments" when backticked argument starts from digit - [`KT-31523`](https://youtrack.jetbrains.com/issue/KT-31523) ReplaceWith introduces additional argument name for lambda when named argument is used on call-site - [`KT-31833`](https://youtrack.jetbrains.com/issue/KT-31833) JavaMapForEachInspection should report for expression with implicit receiver - [`KT-33096`](https://youtrack.jetbrains.com/issue/KT-33096) Turn 'MapGetWithNotNullAssertionOperator' into an intention - [`KT-33212`](https://youtrack.jetbrains.com/issue/KT-33212) False positive "map.put() should be converted to assignment" inspection when class inherited from MutableMap has "set" method - [`KT-34270`](https://youtrack.jetbrains.com/issue/KT-34270) False negative "Join declaration and assignment" with constructor call - [`KT-34859`](https://youtrack.jetbrains.com/issue/KT-34859) False positive "Should be replaced with Kotlin function" inspection for Character.toString(int) function - [`KT-34959`](https://youtrack.jetbrains.com/issue/KT-34959) False positive "Redundant overriding method" with different implemented/overridden signatures - [`KT-35051`](https://youtrack.jetbrains.com/issue/KT-35051) False positive "Remove redundant backticks" if variable inside the string and isn't followed by space - [`KT-35097`](https://youtrack.jetbrains.com/issue/KT-35097) False positive "Call replaceable with binary operator" on explicit 'equals' call on a platform type value - [`KT-35165`](https://youtrack.jetbrains.com/issue/KT-35165) "Replace 'if' with elvis operator": don't suggest if val initializer is a complex expression - [`KT-35346`](https://youtrack.jetbrains.com/issue/KT-35346) False positive 'Make internal' suggestion for function inside interface - [`KT-35357`](https://youtrack.jetbrains.com/issue/KT-35357) "Move lambda argument out of parentheses" does not preserve block comments - [`KT-38349`](https://youtrack.jetbrains.com/issue/KT-38349) Invalid suggestion to fold to elvis when having a var-variable - [`KT-40704`](https://youtrack.jetbrains.com/issue/KT-40704) False negative "Redundant semicolon" at start of line - [`KT-40861`](https://youtrack.jetbrains.com/issue/KT-40861) "Convert to secondary constructor" intention expected on class name - [`KT-40879`](https://youtrack.jetbrains.com/issue/KT-40879) False positive "Redundant 'inner' modifier" when calling another inner class with empty constructor - [`KT-40985`](https://youtrack.jetbrains.com/issue/KT-40985) "Remove explicit type arguments" is suggested when type has an annotation - [`KT-41223`](https://youtrack.jetbrains.com/issue/KT-41223) False positive "Redundant inner modifier" inspection ignores constructor arguments of object expressions - [`KT-41246`](https://youtrack.jetbrains.com/issue/KT-41246) False positive "Receiver parameter is never used" with anonymous function expression - [`KT-41298`](https://youtrack.jetbrains.com/issue/KT-41298) "Remove redundant 'with' call" intention works incorrectly with non-local returns and single-expression functions - [`KT-41311`](https://youtrack.jetbrains.com/issue/KT-41311) False positive "Redundant inner modifier" when deriving from a nested Java class - [`KT-41499`](https://youtrack.jetbrains.com/issue/KT-41499) "Convert receiver to parameter" produces code with incorrect order of generic type and function invocation in case of generic function with lambda as a parameter - [`KT-41680`](https://youtrack.jetbrains.com/issue/KT-41680) False positive "Redundant inner modifier" when deriving from class with non-empty constructor and value passed to it from enclosing class - [`KT-42201`](https://youtrack.jetbrains.com/issue/KT-42201) Add Opt-In action doesn't work if there is already OptIn annotation - [`KT-42255`](https://youtrack.jetbrains.com/issue/KT-42255) "Replace elvis expression with 'if' expression" intention shouldn't introduce unnecessary variable if 'error' expression is used ##### IDE. JS - [`KT-43760`](https://youtrack.jetbrains.com/issue/KT-43760) KJS: Debugging Kotlin code for Node.js runtime doesn't work ##### IDE. Misc - [`KT-44018`](https://youtrack.jetbrains.com/issue/KT-44018) Sealed interfaces: IDE side implementation for hierarchy provider ##### IDE. Multiplatform - [`KT-40814`](https://youtrack.jetbrains.com/issue/KT-40814) MISSING_DEPENDENCY_CLASS when consuming native-shared library in a source-set with fewer targets than library has ##### IDE. Run Configurations - [`KT-34535`](https://youtrack.jetbrains.com/issue/KT-34535) Unable to run common tests on Android via gutter icon in a multiplatform project ##### IDE. Scratch - [`KT-25038`](https://youtrack.jetbrains.com/issue/KT-25038) Scratch: Destructuring declaration produces an unresolved reference - [`KT-43415`](https://youtrack.jetbrains.com/issue/KT-43415) Kotlin scratch file could not be run and could lead to dead lock ##### IDE. Script - [`KT-44117`](https://youtrack.jetbrains.com/issue/KT-44117) IDE / Scripts: custom kotlin script definitions aren't loaded ##### JavaScript ##### Fixes - [`KT-31072`](https://youtrack.jetbrains.com/issue/KT-31072) Don't use non-reified arguments to specialize type operations in IR inliner - [`KT-39964`](https://youtrack.jetbrains.com/issue/KT-39964) Throwable incorrectly implements constructor for (null, cause) args in K/JS-IR - [`KT-40090`](https://youtrack.jetbrains.com/issue/KT-40090) KJS: IR. Invalid behaviour for optional parameters (redundant tail undefined parameters) - [`KT-40686`](https://youtrack.jetbrains.com/issue/KT-40686) KJS: Uncaught ReferenceError caused by external class as type inside eventListener in init block - [`KT-40771`](https://youtrack.jetbrains.com/issue/KT-40771) KJS / IR: "ReferenceError: Metadata is not defined" caused by default parameter value in inner class constructor - [`KT-41032`](https://youtrack.jetbrains.com/issue/KT-41032) KJS / IR: "AssertionError: Assertion failed" caused by class that is delegated to inherited interface - [`KT-41076`](https://youtrack.jetbrains.com/issue/KT-41076) KJS / IR: "AssertionError: Assertion failed" caused by overridden extensiion function in child class - [`KT-41771`](https://youtrack.jetbrains.com/issue/KT-41771) KJS / IR: IndexOutOfBoundsException "Index 0 out of bounds for length 0" caused by inline class with List in primary constructor and vararg in secondary - [`KT-42025`](https://youtrack.jetbrains.com/issue/KT-42025) KJS / IR: IrConstructorCallImpl: No such type argument slot: 0 - [`KT-42112`](https://youtrack.jetbrains.com/issue/KT-42112) KJS: StackOverflowError on [@&#8203;JsExport](https://github.com/JsExport) in case of name clash with function with Enum parameter with star-projection - [`KT-42262`](https://youtrack.jetbrains.com/issue/KT-42262) KJS: `break`-statements without label are ignored in a `when` - [`KT-42357`](https://youtrack.jetbrains.com/issue/KT-42357) KotlinJS - external class constructor with vararg does not correctly handle spread operator. - [`KT-42364`](https://youtrack.jetbrains.com/issue/KT-42364) KJS: Properties of interface delegate are non-configurable - [`KT-43212`](https://youtrack.jetbrains.com/issue/KT-43212) JS IR: support `init` blocks inside inline classes - [`KT-43222`](https://youtrack.jetbrains.com/issue/KT-43222) KJS IR: prototype lazy initialization for top-level properties like in JVM - [`KT-43313`](https://youtrack.jetbrains.com/issue/KT-43313) KJS / IR: "Can't find name for declaration FUN" for secondary constructor - [`KT-43901`](https://youtrack.jetbrains.com/issue/KT-43901) Call to enum values() method from enum companion object leads to non-initialized enum instances ##### KMM Plugin - [`KT-41677`](https://youtrack.jetbrains.com/issue/KT-41677) Could not launch iOS project with custom display name - [`KT-42463`](https://youtrack.jetbrains.com/issue/KT-42463) Launch common tests for Android on local JVM via run gutter - [`KT-43188`](https://youtrack.jetbrains.com/issue/KT-43188) NoSuchMethodError in New Module Wizard of KMM Project ##### Libraries - [`KT-41112`](https://youtrack.jetbrains.com/issue/KT-41112) Docs: add more details about bit shift operations - [`KT-41278`](https://youtrack.jetbrains.com/issue/KT-41278) map.entries.contains can return false if the argument is not MutableEntry - [`KT-41356`](https://youtrack.jetbrains.com/issue/KT-41356) Incorrect documentation for `rangeTo` function - [`KT-44456`](https://youtrack.jetbrains.com/issue/KT-44456) Introduce locale-agnostic API for case conversions - [`KT-44458`](https://youtrack.jetbrains.com/issue/KT-44458) Introduce new Char-to-code and Char-to-digit conversions ##### Middle-end. IR - [`KT-41765`](https://youtrack.jetbrains.com/issue/KT-41765) \[Native/IR] Could not resolveFakeOverride() - [`KT-42054`](https://youtrack.jetbrains.com/issue/KT-42054) Psi2ir: "RuntimeException: IrSimpleFunctionSymbolImpl is already bound" when using result of function with overload resolution by lambda return type ##### Native - [`KT-44219`](https://youtrack.jetbrains.com/issue/KT-44219) 1.4.30-M1: Non-reified type parameters with recursive bounds are not supported yet - [`KT-44271`](https://youtrack.jetbrains.com/issue/KT-44271) \[Kotlin/Native] Incorrect linking when targeting linux_x64 from mingw_x64 host ##### Native. C and ObjC Import - [`KT-42412`](https://youtrack.jetbrains.com/issue/KT-42412) \[C-interop] Modality of generated property accessors is always FINAL ##### Native. ObjC Export - [`KT-38530`](https://youtrack.jetbrains.com/issue/KT-38530) Native: values() method of enum classes is not exposed to Objective-C/Swift - [`KT-43599`](https://youtrack.jetbrains.com/issue/KT-43599) K/N: Unbound symbols not allowed ##### Native. Platform libraries - [`KT-43597`](https://youtrack.jetbrains.com/issue/KT-43597) Support for Xcode 12.2 SDK ##### Native. Platforms - [`KT-43276`](https://youtrack.jetbrains.com/issue/KT-43276) Support watchos_x64 target ##### Native. Runtime - [`KT-42822`](https://youtrack.jetbrains.com/issue/KT-42822) Kotlin/Native Worker leaks ObjC/Swift autorelease references (and indirectly bridged K/N references) on Darwin targets ##### Native. Stdlib - [`KT-42172`](https://youtrack.jetbrains.com/issue/KT-42172) Kotlin/Native: StableRef.dispose race condition on Kotlin deinitRuntime - [`KT-42428`](https://youtrack.jetbrains.com/issue/KT-42428) Inconsistent behavior of map.entries on Kotlin.Native ##### Reflection - [`KT-34024`](https://youtrack.jetbrains.com/issue/KT-34024) "KotlinReflectionInternalError: Inconsistent number of parameters" with `javaMethod` on suspending functions with inline class in function signature or inside the function ##### Tools. CLI - [`KT-43294`](https://youtrack.jetbrains.com/issue/KT-43294) Support `-no-stdlib` option for the `kotlin` runner - [`KT-43406`](https://youtrack.jetbrains.com/issue/KT-43406) JVM: produce deterministic jar files if -d option value is a .jar file ##### Tools. CLI. Native - [`KT-40670`](https://youtrack.jetbrains.com/issue/KT-40670) Allow to override konan.properties via CLI ##### Tools. Compiler Plugins - [`KT-41764`](https://youtrack.jetbrains.com/issue/KT-41764) KJS /IR IllegalStateException: "Symbol for public kotlin/arrayOf is unbound" with serialization plugin - [`KT-42976`](https://youtrack.jetbrains.com/issue/KT-42976) kotlinx.serialization + JVM IR: NPE on annotation with [@&#8203;SerialInfo](https://github.com/SerialInfo) - [`KT-43725`](https://youtrack.jetbrains.com/issue/KT-43725) Prohibit inner and local classes in kotlin-noarg ##### Tools. Gradle - [`KT-38692`](https://youtrack.jetbrains.com/issue/KT-38692) KaptGenerateStubs Gradle task will not clean up outputs when sources are empty and not an incremental build - [`KT-40140`](https://youtrack.jetbrains.com/issue/KT-40140) kotlin-android plugin eagerly creates several Gradle tasks - [`KT-41295`](https://youtrack.jetbrains.com/issue/KT-41295) Kotlin Gradle Plugin 1.4.20 Configuration Caching bug due to friendPath provider - [`KT-42058`](https://youtrack.jetbrains.com/issue/KT-42058) Support moduleName option in Kotlin Gradle plugin for JVM - [`KT-43054`](https://youtrack.jetbrains.com/issue/KT-43054) Implementation of `AbstractKotlinTarget#buildAdhocComponentsFromKotlinVariants` breaks configuration caching - [`KT-43489`](https://youtrack.jetbrains.com/issue/KT-43489) Incremental compilation - unable to find history files causing full recompilation - [`KT-43740`](https://youtrack.jetbrains.com/issue/KT-43740) Gradle out-of-process runner fails with unclear diagnostics if build directory does not exist - [`KT-43895`](https://youtrack.jetbrains.com/issue/KT-43895) Fix cacheability warnings for the Kotlin plugins ##### Tools. Gradle. JS - [`KT-42400`](https://youtrack.jetbrains.com/issue/KT-42400) Kotlin/JS: Gradle DSL: customField() is rejected in Groovy build.gradle - [`KT-42462`](https://youtrack.jetbrains.com/issue/KT-42462) NPM dependency declaration with Groovy interpolated string - [`KT-42954`](https://youtrack.jetbrains.com/issue/KT-42954) Kotlin/JS: IDE import after changing `kotlin.js.externals.output.format` does not re-generate externals - [`KT-43535`](https://youtrack.jetbrains.com/issue/KT-43535) Common webpack configuration breaks on lambda serialization in some cases - [`KT-43668`](https://youtrack.jetbrains.com/issue/KT-43668) PackageJson task use file dependencies as is (files and directories), but only files necessary - [`KT-43793`](https://youtrack.jetbrains.com/issue/KT-43793) nodeArgs in NodeJsExec task - [`KT-43842`](https://youtrack.jetbrains.com/issue/KT-43842) KJS: Invalid `output.library` support for `null` value - [`KT-44104`](https://youtrack.jetbrains.com/issue/KT-44104) KJS / Gradle: An ability to pass jvm args to K2JSDce process ##### Tools. Gradle. Multiplatform - [`KT-42269`](https://youtrack.jetbrains.com/issue/KT-42269) Setup default dependsOn edges for Android source sets - [`KT-42413`](https://youtrack.jetbrains.com/issue/KT-42413) \[MPP/gradle] `withJava` breaks build on 1.4.20-M1 - [`KT-43141`](https://youtrack.jetbrains.com/issue/KT-43141) Gradle / Configuration cache: NPE from org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon.getKotlinOptions() on reusing configuration cache for task compileCommonMainKotlinMetadata - [`KT-43329`](https://youtrack.jetbrains.com/issue/KT-43329) Gradle / Configuration cache: IAE “Parameter specified as non-null is null: method KotlinMetadataTargetConfiguratorKt.isCompatibilityMetadataVariantEnabled, parameter $this$isCompatibilityMetadataVariantEnabled” on reusing configuration cache for task compileKotlinMetadata - [`KT-44298`](https://youtrack.jetbrains.com/issue/KT-44298) Kotlin 1.4.20+ MPP "root" module publication does not include the source JAR that used to be published in the -metadata modules ##### Tools. Gradle. Native - [`KT-39564`](https://youtrack.jetbrains.com/issue/KT-39564) Make kotlin-native Gradle tasks Cacheable - [`KT-42485`](https://youtrack.jetbrains.com/issue/KT-42485) Fail on cinterop: clang_indexTranslationUnit returned 1 - [`KT-42550`](https://youtrack.jetbrains.com/issue/KT-42550) Adding subspec dependency with git location failed - [`KT-42849`](https://youtrack.jetbrains.com/issue/KT-42849) Gradle / Configuration cache: tasks nativeMetadataJar, runReleaseExecutableNative, runDebugExecutableNative are unsupported and fails on reusing configuration cache - [`KT-42938`](https://youtrack.jetbrains.com/issue/KT-42938) CocoaPods Gradle plugin: podBuildDependencies doesn't properly report xcodebuild failures - [`KT-43151`](https://youtrack.jetbrains.com/issue/KT-43151) Gradle / Configuration cache: UPAE “lateinit property binary has not been initialized” on reusing configuration cache for linkDebugExecutableNative, linkDebugTestNative, linkReleaseExecutableNative tasks - [`KT-43516`](https://youtrack.jetbrains.com/issue/KT-43516) Failed to resolve Kotin library \[Multiple Multiplatform modules] ##### Tools. Incremental Compile - [`KT-42937`](https://youtrack.jetbrains.com/issue/KT-42937) another compilation fail (problem with compilation caches?) ##### Tools. JPS - [`KT-39536`](https://youtrack.jetbrains.com/issue/KT-39536) JPS compilation fails with IOException "storage is already closed" ##### Tools. Parcelize - [`KT-41553`](https://youtrack.jetbrains.com/issue/KT-41553) JVM IR, Parcelize: IrStarProjectionImpl cannot be cast to class IrTypeProjection ##### Tools. Scripts - [`KT-43534`](https://youtrack.jetbrains.com/issue/KT-43534) Allow running "main.kts" script that does not end in a "main.kts" filename (would allow kotlin scripting on GitHub Actions) - [`KT-43176`](https://youtrack.jetbrains.com/issue/KT-43176) NoSuchMethodError: 'int Script.access$getAValue$p(Script) for not-inlined functions - [`KT-43294`](https://youtrack.jetbrains.com/issue/KT-43294) Support `-no-stdlib` option for the `kotlin` runner ##### Tools. kapt - [`KT-34340`](https://youtrack.jetbrains.com/issue/KT-34340) Incremental annotation processor recompile all files (only if KAPT enabled). - [`KT-36667`](https://youtrack.jetbrains.com/issue/KT-36667) Kapt: Add a flag to strip kotlin.Metadata() annotations from stubs - [`KT-40493`](https://youtrack.jetbrains.com/issue/KT-40493) KAPT does not support aggregating annotations processors in incremental mode - [`KT-40882`](https://youtrack.jetbrains.com/issue/KT-40882) Kapt stub generation is non-deterministic for incremental compilation - [`KT-41788`](https://youtrack.jetbrains.com/issue/KT-41788) NullPointerException: Random crashes of build using gradle and kapt because of not calling Processor.init() - [`KT-42182`](https://youtrack.jetbrains.com/issue/KT-42182) KAPT: Does not consider generated sources for incremental compilation. ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.30.zip | 7b0aae9dca5ea899ef05dedc0a6fdd6e359451e56ff0dd3354443b3208b31800 | | kotlin-native-linux-1.4.30.tar.gz | 51c12099acf2e2131f063659c59d5f78daaba5c9bc39cc92289d962359e8ccce | | kotlin-native-macos-1.4.30.tar.gz | 892afbf069483b355933885c931367aaaaa32dfe26d84bbfd8636f90f0c7b556 | | kotlin-native-windows-1.4.30.zip | 6c56581902e094c0b1b292abb854d314d5cee650528f23015f8390301fa84ae2 | ### [`v1.4.21-2`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.21-2): Kotlin 1.4.21-2 This release contains the fix for the kotlinx.serialization plugin working together with Jetpack Compose plugin. Please use the 1.4.21 version for your usual production work and use this version only if you want to experiment on kotlinx.serialization and Jetpack Compose together. ### [`v1.4.21`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.21): Kotlin 1.4.21 ##### CHANGELOG ##### IDE. Gradle Integration - [`KT-42561`](https://youtrack.jetbrains.com/issue/KT-42561) "Could not get unknown property 'sourceSets' for project" when running JVM module with included MPP module - [`KT-43511`](https://youtrack.jetbrains.com/issue/KT-43511) Task 'MainKt.main()' not found in root project ##### Libraries - [`KT-43586`](https://youtrack.jetbrains.com/issue/KT-43586) Source documentation: ExperimentalPathAPI misspelt - [`KT-43745`](https://youtrack.jetbrains.com/issue/KT-43745) `replace` for strings ignores case of locale characters ##### Native. C and ObjC Import - [`KT-43265`](https://youtrack.jetbrains.com/issue/KT-43265) Kotlin/Native fails to generate alias for C enum entry - [`KT-43530`](https://youtrack.jetbrains.com/issue/KT-43530) Kotlin/Native compilation fails with "Symbol for public kotlin/Array.size.<get-size>|-8255337774232345969\[0] is unbound" ##### Native - [`KT-43517`](https://youtrack.jetbrains.com/issue/KT-43517) On Kotlin 1.4.20 we got kotlin.NotImplementedError when try compile iOS framework ##### Tools. Gradle. JS - [`KT-43668`](https://youtrack.jetbrains.com/issue/KT-43668) PackageJson task use file dependencies as is (files and directories), but only files necessary ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.21.zip | 46720991a716e90bfc0cf3f2c81b2bd735c14f4ea6a5064c488e04fd76e6b6c7 | | kotlin-native-prebuilt-linux-1.4.21.tar.gz | ae54afed3e3f65a2e3170b203679e86c78979c0c53dd0d7d7a38cf4fa8d46ca7 | | kotlin-native-prebuilt-macos-1.4.21.tar.gz | f3a65ea070cbfca89497a14340f1530d1ec37875efc8be9a972b6a7aefde29c0 | | kotlin-native-prebuilt-windows-1.4.21.zip | 5359f53b01bdc5bd4fd956630e33a0ba36ea0471a8e86fe5405266d899694223 | ### [`v1.4.20`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.20): Kotlin 1.4.20 ##### CHANGELOG ##### Android - [`KT-42121`](https://youtrack.jetbrains.com/issue/KT-42121) Deprecate Kotlin Android Extensions compiler plugin - [`KT-42267`](https://youtrack.jetbrains.com/issue/KT-42267) `Platform declaration clash` error in IDE when using `kotlinx.android.parcel.Parcelize` - [`KT-42406`](https://youtrack.jetbrains.com/issue/KT-42406) Long or infinite code analysis on simple files modification ##### Backend. Native - [`KT-27534`](https://youtrack.jetbrains.com/issue/KT-27534) Bridges to Nothing-returning methods have incorrect signature - [`KT-30284`](https://youtrack.jetbrains.com/issue/KT-30284) Native: Nothing? type for expression override and crash - [`KT-36430`](https://youtrack.jetbrains.com/issue/KT-36430) Optimize when with in range cases - [`KT-38787`](https://youtrack.jetbrains.com/issue/KT-38787) Missing optimization for "in range" check - [`KT-39100`](https://youtrack.jetbrains.com/issue/KT-39100) Make Native behaviour of property initialization consistent with JVM - [`KT-39798`](https://youtrack.jetbrains.com/issue/KT-39798) Override equals/hashCode in functional interface wrappers on Native - [`KT-39800`](https://youtrack.jetbrains.com/issue/KT-39800) equals/hashCode on adapted function references on Native - [`KT-41394`](https://youtrack.jetbrains.com/issue/KT-41394) Compilation failed: Backend Internal error: Exception during IR lowering - [`KT-41907`](https://youtrack.jetbrains.com/issue/KT-41907) Framework test segfaults on GC on watchos_x86 compiled with -opt ##### Compiler ##### New Features - [`KT-21147`](https://youtrack.jetbrains.com/issue/KT-21147) JEP 280: Indify String Concatenation (StringConcatFactory) - [`KT-34178`](https://youtrack.jetbrains.com/issue/KT-34178) Scripts should be able to access imports objects - [`KT-35549`](https://youtrack.jetbrains.com/issue/KT-35549) Support kotlin-android-extensions in JVM IR backend (for use with Jetpack Compose projects) - [`KT-31567`](https://youtrack.jetbrains.com/issue/KT-31567) Support special semantics for underscore-named catch block parameters ##### Performance Improvements - [`KT-20571`](https://youtrack.jetbrains.com/issue/KT-20571) Coroutines: Reduce number of local variables stored at suspension point - [`KT-28016`](https://youtrack.jetbrains.com/issue/KT-28016) Coroutine state-machines spill/unspill shall be optimized using data-flow analysis - [`KT-33394`](https://youtrack.jetbrains.com/issue/KT-33394) UI freezes triggered by QualifiedExpressionResolver.resolveToPackageOrClassPrefix - [`KT-36814`](https://youtrack.jetbrains.com/issue/KT-36814) Support optimized delegated properties in JVM_IR - [`KT-36829`](https://youtrack.jetbrains.com/issue/KT-36829) Optimize 'in' expressions (operator fun contains) in JVM_IR - [`KT-41741`](https://youtrack.jetbrains.com/issue/KT-41741) NI: "AssertionError: Empty intersection for types" with generic Java collection - [`KT-42195`](https://youtrack.jetbrains.com/issue/KT-42195) NI: prohibitively long compilation time for values of nested data structures with type inference - [`KT-42221`](https://youtrack.jetbrains.com/issue/KT-42221) Native compiler never finishes frontend phase after migrating to Kotlin 1.4.10 ##### Fixes - [`KT-11713`](https://youtrack.jetbrains.com/issue/KT-11713) Refine visibility check for synthetic property with protected setter - [`KT-16222`](https://youtrack.jetbrains.com/issue/KT-16222) Coroutine should be clearing any internal state as soon as possible to avoid memory leaks - [`KT-25519`](https://youtrack.jetbrains.com/issue/KT-25519) Extra inline marks inside suspending function callable reference bytecode - [`KT-33226`](https://youtrack.jetbrains.com/issue/KT-33226) Object INSTANCE field not annotated with NotNull in generated bytecode - [`KT-35495`](https://youtrack.jetbrains.com/issue/KT-35495) FIR: forbid non-Java synthetic properties - [`KT-35651`](https://youtrack.jetbrains.com/issue/KT-35651) Kotlin stdlib has greater resolution priority than jars added via [@&#8203;file](https://github.com/file):DependsOn annotation - [`KT-35716`](https://youtrack.jetbrains.com/issue/KT-35716) Using [@&#8203;JvmOverloads](https://github.com/JvmOverloads) in [@&#8203;JvmStatic](https://github.com/JvmStatic) functions in interface companion objects causes a ClassFormatError - [`KT-35730`](https://youtrack.jetbrains.com/issue/KT-35730) FIR: consider creating fake overrides for objects - [`KT-36951`](https://youtrack.jetbrains.com/issue/KT-36951) IllegalStateException: Expected some types: Throwing exception when there is a type parameter upper bound for itself - [`KT-37321`](https://youtrack.jetbrains.com/issue/KT-37321) \[FIR] Support java array in type argument - [`KT-37431`](https://youtrack.jetbrains.com/issue/KT-37431) \[FIR] Support Builder Inference - [`KT-38272`](https://youtrack.jetbrains.com/issue/KT-38272) FIR2IR: use lazy IR symbols for externals & fake overrides - [`KT-38333`](https://youtrack.jetbrains.com/issue/KT-38333) FIR: CCE on red code with assignment used as expression - [`KT-38334`](https://youtrack.jetbrains.com/issue/KT-38334) FIR: CCE when resolving try-as-expression - [`KT-38336`](https://youtrack.jetbrains.com/issue/KT-38336) FIR: NPE with corrupted numeric constant literal - [`KT-38397`](https://youtrack.jetbrains.com/issue/KT-38397) FIR: Exception while resolving contract definition - [`KT-38444`](https://youtrack.jetbrains.com/issue/KT-38444) \[FIR] Invoke extension lambda with safe call - [`KT-38470`](https://youtrack.jetbrains.com/issue/KT-38470) FIR: ConeDefinitelyNotNullType in signature - [`KT-38471`](https://youtrack.jetbrains.com/issue/KT-38471) FIR: ConeIntersectionType in signature - [`KT-38925`](https://youtrack.jetbrains.com/issue/KT-38925) Internal error: wrong bytecode generated. (AssertionError: int type expected, but null was found in basic frames) - [`KT-38989`](https://youtrack.jetbrains.com/issue/KT-38989) FIR: Refine sealed classes exhaustiveness in case of sealed subclass - [`KT-38992`](https://youtrack.jetbrains.com/issue/KT-38992) FIR: Refine type resolution for inner classes - [`KT-39000`](https://youtrack.jetbrains.com/issue/KT-39000) FIR: Support smartcast after reference equality check - [`KT-39005`](https://youtrack.jetbrains.com/issue/KT-39005) FIR: Resolve plusAssign in a dependent context - [`KT-39008`](https://youtrack.jetbrains.com/issue/KT-39008) FIR: Investigate strange effect of type alias and not-nullable bound on inference - [`KT-39012`](https://youtrack.jetbrains.com/issue/KT-39012) FIR: Inference doesn't get through elvis to lambda parameter - [`KT-39028`](https://youtrack.jetbrains.com/issue/KT-39028) FIR: Strange resolution to synthetic property with implicit extension receiver while there's an explicit receiver - [`KT-39032`](https://youtrack.jetbrains.com/issue/KT-39032) FIR: Ambiguity in member scope of a type parameter with multiple bounds - [`KT-39033`](https://youtrack.jetbrains.com/issue/KT-39033) FIR: Ambiguity when calling generic overridden property - [`KT-39034`](https://youtrack.jetbrains.com/issue/KT-39034) FIR: Support nested extension function types - [`KT-39040`](https://youtrack.jetbrains.com/issue/KT-39040) FIR: Deserialize annotations from compiled Kotlin binaries - [`KT-39043`](https://youtrack.jetbrains.com/issue/KT-39043) FIR: Bare types incorrectly work with type aliases - [`KT-39044`](https://youtrack.jetbrains.com/issue/KT-39044) FIR: Add fillInStackTrace to member scope of kotlin.Throwable - [`KT-39046`](https://youtrack.jetbrains.com/issue/KT-39046) FIR: Implicit types in lambdas left when call argument is a type cast - [`KT-39048`](https://youtrack.jetbrains.com/issue/KT-39048) FIR: Inference fails with integer literal used as Comparable - [`KT-39050`](https://youtrack.jetbrains.com/issue/KT-39050) FIR: Type resolver doesn't see nested classes from super class of a local class - [`KT-39070`](https://youtrack.jetbrains.com/issue/KT-39070) FIR: Ambiguity on super calls to hashCode/equals when having super interface and class - [`KT-39072`](https://youtrack.jetbrains.com/issue/KT-39072) FIR: Subtyping check doesn't affect nullability of safe-call receiver - [`KT-39076`](https://youtrack.jetbrains.com/issue/KT-39076) FIR: Synthetic property is not a var because of [@&#8203;Nullable](https://github.com/Nullable) annotation on parameter - [`KT-39080`](https://youtrack.jetbrains.com/issue/KT-39080) FIR: Smart casts remain incorrect if lambda is present in when branch - [`KT-39374`](https://youtrack.jetbrains.com/issue/KT-39374) Wrong bytecode generated for suspend function call with EXACTLY_ONCE lambda capturing a variable initialized in when-subject - [`KT-39621`](https://youtrack.jetbrains.com/issue/KT-39621) \[FIR] Support when exhaustiveness checker for java enums - [`KT-40135`](https://youtrack.jetbrains.com/issue/KT-40135) JVM IR does not generate restricted suspend lambdas - [`KT-40382`](https://youtrack.jetbrains.com/issue/KT-40382) Missing proper jvmSignature for synthesized equals/hashCode/toString in inline classes - [`KT-40605`](https://youtrack.jetbrains.com/issue/KT-40605) JVM IR: IndexOutOfBoundsException caused by inner class passed to generic outer class method with Nothing type argument - [`KT-40664`](https://youtrack.jetbrains.com/issue/KT-40664) JVM: No bounds check in optimization of `ULong in UInt..UInt` - [`KT-40665`](https://youtrack.jetbrains.com/issue/KT-40665) JVM: No resolved function check when optimizing `in/contains` with mismatched bound types - [`KT-41014`](https://youtrack.jetbrains.com/issue/KT-41014) FIR2IR: when/where/how to determine the presence of a backing field for a property - [`KT-41018`](https://youtrack.jetbrains.com/issue/KT-41018) FIR2IR: sort members during de/serialization - [`KT-41144`](https://youtrack.jetbrains.com/issue/KT-41144) False positive "Redundant spread operator" in when statement and generic vararg argument - [`KT-41218`](https://youtrack.jetbrains.com/issue/KT-41218) HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDE - [`KT-41374`](https://youtrack.jetbrains.com/issue/KT-41374) JVM / IR: NoSuchMethodError in Android project compiler caused by combination of inline classes and coroutines - [`KT-41388`](https://youtrack.jetbrains.com/issue/KT-41388) NI: Backend Internal error: Exception during IR lowering - [`KT-41429`](https://youtrack.jetbrains.com/issue/KT-41429) Inline class returned from suspend function should be boxed on resume path - [`KT-41465`](https://youtrack.jetbrains.com/issue/KT-41465) JVM / IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL CLASS name" caused by inline method call into multiple constructors - [`KT-41484`](https://youtrack.jetbrains.com/issue/KT-41484) JVM IR: support -Xemit-jvm-type-annotations - [`KT-41668`](https://youtrack.jetbrains.com/issue/KT-41668) JVM IR: incorrect enclosing constructor for lambdas in initializers of inner classes - [`KT-41669`](https://youtrack.jetbrains.com/issue/KT-41669) JVM IR: incorrect hashCode intrinsic is used in JVM target 1.8 for generic type substituted with primitive - [`KT-41693`](https://youtrack.jetbrains.com/issue/KT-41693) NI: Type inference in nested expression incorrectly assumes non-nullable return type of Java function, causing NullPointerException - [`KT-41729`](https://youtrack.jetbrains.com/issue/KT-41729) NI: UnsupportedOperationException with invalid callable reference - [`KT-41761`](https://youtrack.jetbrains.com/issue/KT-41761) JVM IR: CCE from backend on generating typeOf for non-reified type parameter with star projection in upper bound - [`KT-41789`](https://youtrack.jetbrains.com/issue/KT-41789) Missing DebugMetadata in inlined suspend lambda - [`KT-41913`](https://youtrack.jetbrains.com/issue/KT-41913) NI: Kotlin 1.4 type inference breaks valid code - [`KT-41934`](https://youtrack.jetbrains.com/issue/KT-41934) NI: a type variable for lambda parameter has been inferred to nullable type instead of not null one - [`KT-42005`](https://youtrack.jetbrains.com/issue/KT-42005) JVM / IR: "NullPointerException: Parameter specified as non-null is null" when toString is called on inline class with not primitive property - [`KT-42450`](https://youtrack.jetbrains.com/issue/KT-42450) NI: "IllegalStateException: Error type encountered: NonFixed:" with coroutines - [`KT-42523`](https://youtrack.jetbrains.com/issue/KT-42523) Missed DefaultImpls for interface in `-jvm-default=all` mode on inheriting it from interface compiled in old scheme - [`KT-42524`](https://youtrack.jetbrains.com/issue/KT-42524) Wrong specialization diagnostic is reported on inheriting from java interface with default with -Xjvm-default=all-compatibility - [`KT-42546`](https://youtrack.jetbrains.com/issue/KT-42546) HMPP: incorrect subtyping of nullable types & overload resolution ambiguity on using and expect-function declaration with nullable expect in a signature - [`KT-17691`](https://youtrack.jetbrains.com/issue/KT-17691) Wrong argument order in resolved call with varargs - [`KT-25114`](https://youtrack.jetbrains.com/issue/KT-25114) Prohibit [@&#8203;JvmStatic](https://github.com/JvmStatic) on functions in private companions - [`KT-33917`](https://youtrack.jetbrains.com/issue/KT-33917) Prohibit to expose anonymous types from private inline functions - [`KT-35870`](https://youtrack.jetbrains.com/issue/KT-35870) Forbid secondary enum class constructors which do not delegate to the primary constructor - [`KT-39098`](https://youtrack.jetbrains.com/issue/KT-39098) NI: parameter of anonymous function can be inferred to Any? if another parameter's type is specified - [`KT-41176`](https://youtrack.jetbrains.com/issue/KT-41176) NI with Gson: "ClassCastException: java.util.ArrayList cannot be cast to java.lang.Void" - [`KT-41194`](https://youtrack.jetbrains.com/issue/KT-41194) ClassCastException on returning Result.failure from lambda within suspend function - [`KT-42438`](https://youtrack.jetbrains.com/issue/KT-42438) NI: ClassCastException: cannot be cast to java.lang.Void caused by when statement in `run` function - [`KT-42699`](https://youtrack.jetbrains.com/issue/KT-42699) False positive NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT diagnostic in new jvm-default modes - [`KT-42706`](https://youtrack.jetbrains.com/issue/KT-42706) Kotlin 1.4 infers generic is Nothing instead of actual Foo class (Android project) ##### Docs & Examples - [`KT-42318`](https://youtrack.jetbrains.com/issue/KT-42318) No documentation for `kotlin.js.js` ##### IDE ##### New Features - [`KT-20775`](https://youtrack.jetbrains.com/issue/KT-20775) More kotlin kinds in new kotlin file/class menu - [`KT-31331`](https://youtrack.jetbrains.com/issue/KT-31331) Improve: Optimize Import should remove unused unresolved imports - [`KT-31500`](https://youtrack.jetbrains.com/issue/KT-31500) Smart enter: support get() clause - [`KT-39231`](https://youtrack.jetbrains.com/issue/KT-39231) Injection: Add receiver of kotlin.text.toPattern to standard Kotlin injections - [`KT-39844`](https://youtrack.jetbrains.com/issue/KT-39844) Add specific highlight for Enum class ##### Performance Improvements - [`KT-39353`](https://youtrack.jetbrains.com/issue/KT-39353) Implement EnterBetweenBracesNoCommitDelegate - [`KT-39720`](https://youtrack.jetbrains.com/issue/KT-39720) A lot of freezes in Kotlin project - [`KT-41634`](https://youtrack.jetbrains.com/issue/KT-41634) Deadlock in org.jetbrains.kotlin.idea.framework.LibraryEffectiveKindProviderImpl.getEffectiveKind - [`KT-41936`](https://youtrack.jetbrains.com/issue/KT-41936) Impossible to work with Kotlin 1.4 in 202 idea, idea eats all cpu ##### Fixes - [`KT-10790`](https://youtrack.jetbrains.com/issue/KT-10790) "Move statement up" for [@&#8203;file-targeted](https://github.com/file-targeted) annotation moves package declaration to bottom of file - [`KT-15262`](https://youtrack.jetbrains.com/issue/KT-15262) "Generate toString()" is ignoring property if it has a getter - [`KT-24352`](https://youtrack.jetbrains.com/issue/KT-24352) Method separators: displayed between properties, not displayed between companion object and function - [`KT-29364`](https://youtrack.jetbrains.com/issue/KT-29364) "Extend selection" can't select lambda body with parameters - [`KT-32403`](https://youtrack.jetbrains.com/issue/KT-32403) Clickable links in annotation parameters (like in TODOs) - [`KT-32409`](https://youtrack.jetbrains.com/issue/KT-32409) Organizing imports should not remove imports while there are unresolved symbols - [`KT-34566`](https://youtrack.jetbrains.com/issue/KT-34566) Too small indent after line break for multi line strings - [`KT-34587`](https://youtrack.jetbrains.com/issue/KT-34587) "Move statement down" doesn't work for statement in constructor with end-of-line comment - [`KT-34705`](https://youtrack.jetbrains.com/issue/KT-34705) "Move statement down" for penultimate statement with end-of-line comment in constructor leads to moving comma to the end of comment - [`KT-34707`](https://youtrack.jetbrains.com/issue/KT-34707) "Move statement up" for last statement with end-of-line comment in constructor leads to moving comma to the end of comment - [`KT-35424`](https://youtrack.jetbrains.com/issue/KT-35424) FIR IDE: Kotlin project does not see stdlib - [`KT-35732`](https://youtrack.jetbrains.com/issue/KT-35732) URLs in String literals are not clickable - [`KT-35859`](https://youtrack.jetbrains.com/issue/KT-35859) Language injection doesn't work with named arguments in different position - [`KT-37210`](https://youtrack.jetbrains.com/issue/KT-37210) UAST: KtLightClassForSourceDeclaration.isInheritor sometimes returns the wrong result - [`KT-37219`](https://youtrack.jetbrains.com/issue/KT-37219) File level OptIn annotation is not recognized by the IDE - [`KT-38959`](https://youtrack.jetbrains.com/issue/KT-38959) IDE: False negative EXPLICIT_DELEGATION_CALL_REQUIRED, "IllegalArgumentException: Range must be inside element being annotated" - [`KT-39398`](https://youtrack.jetbrains.com/issue/KT-39398) Wrong import of unrelated object member is suggested for receiver - [`KT-39457`](https://youtrack.jetbrains.com/issue/KT-39457) Separate decompiled declarations Light implementation from LightClasses infrastructure - [`KT-39899`](https://youtrack.jetbrains.com/issue/KT-39899) KotlinOptimizeImportsRefactoringHelper: ISE: Attempt to modify PSI for non-committed Document - [`KT-40578`](https://youtrack.jetbrains.com/issue/KT-40578) UAST: write accesses to Kotlin properties should resolve to setter - [`KT-41290`](https://youtrack.jetbrains.com/issue/KT-41290) KotlinClassViaConstructorUSimpleReferenceExpression resolves to PsiMethod instead of PsiClass - [`KT-42029`](https://youtrack.jetbrains.com/issue/KT-42029) HMPP, IDE: NPE from `FacetSerializationKt.getFacetPlatformByConfigurationElement` on project opening - [`KT-43202`](https://youtrack.jetbrains.com/issue/KT-43202) On 1.4.20-RC version AS ask for xml compatibility update for EAP version of plugin - [`KT-42883`](https://youtrack.jetbrains.com/issue/KT-42883) No highlighting for elements marked as [@&#8203;Deprecated](https://github.com/Deprecated) in stdlib ##### IDE. Android - [`KT-42406`](https://youtrack.jetbrains.com/issue/KT-42406) Long or infinite code analysis on simple files modification - [`KT-42061`](https://youtrack.jetbrains.com/issue/KT-42061) Highlighting is broken in Android activity - [`KT-41930`](https://youtrack.jetbrains.com/issue/KT-41930) Android Studio 4.2 cannot start after updating to 1.4.20 plugin with error: Missing essential plugin: org.jetbrains.android ##### IDE. Completion - [`KT-26235`](https://youtrack.jetbrains.com/issue/KT-26235) Kotlin methods/fields don't have icons in Java completion ##### IDE. Debugger - [`KT-37486`](https://youtrack.jetbrains.com/issue/KT-37486) Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabled - [`KT-38659`](https://youtrack.jetbrains.com/issue/KT-38659) Evaluate Expression: `toString()` on variable returns error when breakpoint is in `commonTest` sourceset - [`KT-39309`](https://youtrack.jetbrains.com/issue/KT-39309) Debugger: Prolonged "Collecting data" for variables when breakpoint is inside `respondHtml` - [`KT-39435`](https://youtrack.jetbrains.com/issue/KT-39435) "Collecting data..." in debugger variables view never finishes - [`KT-39717`](https://youtrack.jetbrains.com/issue/KT-39717) Debugger shows "Collecting data..." forever for instances of some class - [`KT-40386`](https://youtrack.jetbrains.com/issue/KT-40386) Memory leak detected: 'org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView' - [`KT-40635`](https://youtrack.jetbrains.com/issue/KT-40635) Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc\* versions as well - [`KT-41505`](https://youtrack.jetbrains.com/issue/KT-41505) Coroutines Debugger: “Access is allowed from event dispatch thread with IW lock only.” ##### IDE. Decompiler, Indexing, Stubs - [`KT-28732`](https://youtrack.jetbrains.com/issue/KT-28732) Stub file element types should be registered early enough - [`KT-41346`](https://youtrack.jetbrains.com/issue/KT-41346) IDE: "AssertionError: Stub type mismatch: USER_TYPE!=REFERENCE_EXPRESSION" with `CollapsedDumpParser` class from IDEA SDK - [`KT-41859`](https://youtrack.jetbrains.com/issue/KT-41859) File analysis never ending with kotlinx.cli (AssertionError: Stub type mismatch: TYPEALIAS!=CLASS) - [`KT-41640`](https://youtrack.jetbrains.com/issue/KT-41640) "Project roots have changed" happened during indexing because of org.jetbrains.kotlin.idea.core.script.ucache.ScriptClassRootsUpdater$notifyRootsChanged increases overall indexing time. - [`KT-41646`](https://youtrack.jetbrains.com/issue/KT-41646) "AssertionError: ContentElementType: FILE"; Code analysis never finishes on some files from my project ##### IDE. Gradle Integration - [`KT-34271`](https://youtrack.jetbrains.com/issue/KT-34271) Support `pureKotlinSourceFolders` for MPP projects - [`KT-37106`](https://youtrack.jetbrains.com/issue/KT-37106) Gradle + IDE integration: on creating source roots from Project tree IDEA creates incorrect settings - [`KT-38830`](https://youtrack.jetbrains.com/issue/KT-38830) addTransitiveDependenciesOnImplementedModules performance is slowing down Android Studio Gradle Sync - [`KT-41703`](https://youtrack.jetbrains.com/issue/KT-41703) Kotlin plugin not functional: PluginException: While loading class org.jetbrains.kotlin.idea.core.script.KotlinScriptDependenciesClassFinder ##### IDE. Gradle. Script - [`KT-35092`](https://youtrack.jetbrains.com/issue/KT-35092) “Unable to get Gradle home directory” popup and no build.gradle.kts highlighting right after creating a new project - [`KT-37590`](https://youtrack.jetbrains.com/issue/KT-37590) Wrong notification for precompiled build script - [`KT-39523`](https://youtrack.jetbrains.com/issue/KT-39523) Go to Declaration navigates to decompiled classfile instead of sources in case of jumping to Gradle plugin sources in buildSrc - [`KT-39542`](https://youtrack.jetbrains.com/issue/KT-39542) EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager) - [`KT-39790`](https://youtrack.jetbrains.com/issue/KT-39790) List of standalone script should be saved between IDE restarts - [`KT-39910`](https://youtrack.jetbrains.com/issue/KT-39910) build.gradle.kts isn't highlighted after import - [`KT-39916`](https://youtrack.jetbrains.com/issue/KT-39916) init.gradle.kts isn't highlighted - [`KT-40243`](https://youtrack.jetbrains.com/issue/KT-40243) gradle.kts: standalone script under build root isn't highlighted as standalone - [`KT-41141`](https://youtrack.jetbrains.com/issue/KT-41141) Gradle Kotlin DSL: "cannot access 'java.lang.Comparable'. Check your module classpath" with empty JDK in Project structure - [`KT-41281`](https://youtrack.jetbrains.com/issue/KT-41281) Multiple Script Definitions warning shown in git project having multiple Gradle projects ##### IDE. Hints - [`KT-32368`](https://youtrack.jetbrains.com/issue/KT-32368) Rework Inline hints settings so that they look appropriate with the new UI in 2019.3 - [`KT-38027`](https://youtrack.jetbrains.com/issue/KT-38027) Support Code Vision feature in Kotlin - [`KT-42014`](https://youtrack.jetbrains.com/issue/KT-42014) ClassNotFoundException in Android Studio 4.2 after installing 1.4.20 plugin ##### IDE. Hints. Parameter Info - [`KT-24172`](https://youtrack.jetbrains.com/issue/KT-24172) Parameter info marks signature as inapplicable when using argument labels - [`KT-41617`](https://youtrack.jetbrains.com/issue/KT-41617) Parameter Info shows nothing inside already present type arguments of supertype - [`KT-41645`](https://youtrack.jetbrains.com/issue/KT-41645) Add support for mixed named arguments to parameter info popup ##### IDE. Inspections and Intentions ##### New Features - [`KT-14578`](https://youtrack.jetbrains.com/issue/KT-14578) Suggest "Convert lambda to reference" intention for generic extension function - [`KT-19321`](https://youtrack.jetbrains.com/issue/KT-19321) Warn if method with nullable return type always returns non-null - [`KT-20718`](https://youtrack.jetbrains.com/issue/KT-20718) Add a quick fix for "this class has no constructor" error on 'expect' annotation classes - [`KT-21223`](https://youtrack.jetbrains.com/issue/KT-21223) Add inspection for incomplete destructuring - [`KT-22420`](https://youtrack.jetbrains.com/issue/KT-22420) Intention to replace a = b with b.also { a = it } - [`KT-39930`](https://youtrack.jetbrains.com/issue/KT-39930) Add inspection for nullable Boolean in `if` condition - [`KT-40016`](https://youtrack.jetbrains.com/issue/KT-40016) Replace 'a.toLowerCase() == b.toLowerCase()' with 'a.equals(b, ignoreCase = true)' inspection - [`KT-40283`](https://youtrack.jetbrains.com/issue/KT-40283) Inspection which replaces `also`/`apply` with nested `forEach` to `onEach` - [`KT-40769`](https://youtrack.jetbrains.com/issue/KT-40769) Add intention to replace isBlank/isNotBlank method negation ##### Fixes - [`KT-12222`](https://youtrack.jetbrains.com/issue/KT-12222) Intention 'Convert to block body' should take nullability of overriden method into account when expression is of platform type - [`KT-14395`](https://youtrack.jetbrains.com/issue/KT-14395) Lambda to Reference doesn't work for generic types - [`KT-15846`](https://youtrack.jetbrains.com/issue/KT-15846) 'Change lambda expression return type' quick fix does nothing - [`KT-15944`](https://youtrack.jetbrains.com/issue/KT-15944) IDEA doesn't suggest to replace deprecated get set operator functions when it used as operator - [`KT-17222`](https://youtrack.jetbrains.com/issue/KT-17222) "Convert reference to lambda" creates red code for method with default argument values - [`KT-18125`](https://youtrack.jetbrains.com/issue/KT-18125) "Wrap with let {...}" intention not available in all cases - [`KT-20438`](https://youtrack.jetbrains.com/issue/KT-20438) Naming convention inspections: factory functions that are named like classes are flagged - [`KT-24138`](https://youtrack.jetbrains.com/issue/KT-24138) Incorrect behavior in "convert reference to lambda" with new inference enabled, on function reference with default arguments - [`KT-29844`](https://youtrack.jetbrains.com/issue/KT-29844) "Create class from usage" should mark constructor of created class as internal if its parameters have internal visibility - [`KT-30928`](https://youtrack.jetbrains.com/issue/KT-30928) "Show hints for suspend calls" is too easy to enable and hard to disable - [`KT-31749`](https://youtrack.jetbrains.com/issue/KT-31749) "Surround with null check" produces incorrect check for 'in' expression - [`KT-32963`](https://youtrack.jetbrains.com/issue/KT-32963) Don't suggest `java` directory of a JVM source set in multiplatform project as a target for `Create actual` quick fix - [`KT-33211`](https://youtrack.jetbrains.com/issue/KT-33211) Quickfix "add parameter" for method references should infer functional type instead of KFunction - [`KT-33258`](https://youtrack.jetbrains.com/issue/KT-33258) "Merge 'if's" intention drops comment before nested if - [`KT-34572`](https://youtrack.jetbrains.com/issue/KT-34572) Convert to block body action improperly works with suppress annotations - [`KT-35128`](https://youtrack.jetbrains.com/issue/KT-35128) Intention `Convert member to extension` hides property delegate text with single line comment - [`KT-35214`](https://youtrack.jetbrains.com/issue/KT-35214) Intention `Put parameters on one line`: don't suggest if parameters has end-of-line comments - [`KT-35320`](https://youtrack.jetbrains.com/issue/KT-35320) False positive "Replace explicit parameter 'x' with 'it'" in 'when' expression which returns lambda - [`KT-35525`](https://youtrack.jetbrains.com/issue/KT-35525) False positive intention for 'run': "Convert to 'let'" when invoked without receiver - [`KT-35526`](https://youtrack.jetbrains.com/issue/KT-35526) Intention "Eliminate argument of 'when'" is broken for 'when' expression without 'else' branch - [`KT-35805`](https://youtrack.jetbrains.com/issue/KT-35805) FoldInitializerAndIfToElvis: should not add new line for multiline initializer - [`KT-36051`](https://youtrack.jetbrains.com/issue/KT-36051) IfThenToSafeAccessInspection: do not report if condition is SENSELESS_COMPARISON - [`KT-37748`](https://youtrack.jetbrains.com/issue/KT-37748) "Convert anonymous function to lambda expression" intention does not add necessary lambda type parameter - [`KT-37841`](https://youtrack.jetbrains.com/issue/KT-37841) IllegalStateException after "add non-null asserted call" on nullable function reference - [`KT-38139`](https://youtrack.jetbrains.com/issue/KT-38139) False negative "Add suspend modifier" quickfix when suspend function is called in inline lambda - [`KT-38267`](https://youtrack.jetbrains.com/issue/KT-38267) False positive "Call on collection type may be reduced" with Java platform types: suggested to reduce 'mapNotNull' call to 'map' - [`KT-38282`](https://youtrack.jetbrains.com/issue/KT-38282) False positive "Remove redundant spread operator" inspection with array as class property or fun argument - [`KT-38915`](https://youtrack.jetbrains.com/issue/KT-38915) "Remove explicit type specification" intention should be disabled in explicit API mode - [`KT-38981`](https://youtrack.jetbrains.com/issue/KT-38981) "Specify return type explicitly" inspection is not reported for declaration annotated with [@&#8203;PublishedApi](https://github.com/PublishedApi) in Explicit Api mode - [`KT-39026`](https://youtrack.jetbrains.com/issue/KT-39026) 'Specify return type explicitly' intention duplicates compiler warning in Explicit api mode - [`KT-39200`](https://youtrack.jetbrains.com/issue/KT-39200) False positive "Redundant qualifier name" with same-named member object and companion property - [`KT-39263`](https://youtrack.jetbrains.com/issue/KT-39263) False positive "Variable should be inlined" for override value in initialized object - [`KT-39311`](https://youtrack.jetbrains.com/issue/KT-39311) Batch quick fix name for "Change file's package" is truncated - [`KT-39393`](https://youtrack.jetbrains.com/issue/KT-39393) "Convert anonymous function to lambda expression" intention does not add necessary lambda type parameter for outer function - [`KT-39454`](https://youtrack.jetbrains.com/issue/KT-39454) False positive "Unused symbol" with private anonymous object property - [`KT-39467`](https://youtrack.jetbrains.com/issue/KT-39467) False negative "Move variable declaration into when" if a variable declaration is placed on a new line - [`KT-39490`](https://youtrack.jetbrains.com/issue/KT-39490) 'Wrap with ?.let' quickfix put the receiver in `let` lambda - [`KT-39552`](https://youtrack.jetbrains.com/issue/KT-39552) Merge 'if's intention drops comment after nested if - [`KT-39604`](https://youtrack.jetbrains.com/issue/KT-39604) "Package directive doesn't match file location" quick fix does not insert a space between keyword `package` and the package name - [`KT-39772`](https://youtrack.jetbrains.com/issue/KT-39772) "Redundant 'Unit'" should support lambdas - [`KT-40215`](https://youtrack.jetbrains.com/issue/KT-40215) "Create abstract function" quick fix suggested even though surrounding class is non-abstract - [`KT-40448`](https://youtrack.jetbrains.com/issue/KT-40448) "Convert call chain into sequence": support functions added in Kotlin 1.4 - [`KT-40558`](https://youtrack.jetbrains.com/issue/KT-40558) False positive "Move to class body" intention on data class constructor property - [`KT-41338`](https://youtrack.jetbrains.com/issue/KT-41338) False positive "Redundant 'asSequence' call" when Map.Entry properties are used. - [`KT-41615`](https://youtrack.jetbrains.com/issue/KT-41615) "Unused equals expression" inspection: highlight whole expression with yellow background - [`KT-43037`](https://youtrack.jetbrains.com/issue/KT-43037) Disable "Incomplete destructuring declaration" in 1.4.20 ##### IDE. J2K - [`KT-20421`](https://youtrack.jetbrains.com/issue/KT-20421) J2K: SUPERTYPE_NOT_INITIALIZED for object extending base class - [`KT-37298`](https://youtrack.jetbrains.com/issue/KT-37298) J2K: implicit widening conversion for whole argument expression is transformed to cast on subexpression - [`KT-38879`](https://youtrack.jetbrains.com/issue/KT-38879) J2K loses class annotations when converting class to object - [`KT-39149`](https://youtrack.jetbrains.com/issue/KT-39149) J2K fails with augmented assignment operators when multiplying int by a non-int - [`KT-40359`](https://youtrack.jetbrains.com/issue/KT-40359) J2K: Conversion of invalid octal numbers throws NumberFormatException - [`KT-40363`](https://youtrack.jetbrains.com/issue/KT-40363) J2K: Converting HEX integer literal in for-loop throws NumberFormatException ##### IDE. JS - [`KT-39319`](https://youtrack.jetbrains.com/issue/KT-39319) KJS: Support debugging through new Intellij 202 API - [`KT-41328`](https://youtrack.jetbrains.com/issue/KT-41328) KJS / Gradle: explicitApi mode doesn't work ##### IDE. KDoc - [`KT-17926`](https://youtrack.jetbrains.com/issue/KT-17926) IDE should show documentation for a class if the constructor has no docs. - [`KT-19069`](https://youtrack.jetbrains.com/issue/KT-19069) KDoc: show default argument values - [`KT-37132`](https://youtrack.jetbrains.com/issue/KT-37132) Redundant [@&#8203;NotNull](https://github.com/NotNull) annotation in a Quick Documentation pop-up ##### IDE. Misc - [`KT-39327`](https://youtrack.jetbrains.com/issue/KT-39327) Get rid of usages of internal classes ModuleOrderEntryImpl and LibraryImpl - [`KT-40455`](https://youtrack.jetbrains.com/issue/KT-40455) Improve support for EditorConfig ##### IDE. Navigation - [`KT-24616`](https://youtrack.jetbrains.com/issue/KT-24616) Find usages fails to find setter usage - [`KT-38762`](https://youtrack.jetbrains.com/issue/KT-38762) "Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Int'" brokes navigation to constructor parameter declaration - [`KT-39558`](https://youtrack.jetbrains.com/issue/KT-39558) Call Hierarchy shows references from KDoc - [`KT-40788`](https://youtrack.jetbrains.com/issue/KT-40788) "Find usages" on Java getter overridden in Kotlin doesn't find synthetic property usage when it is called without base declaration - [`KT-40960`](https://youtrack.jetbrains.com/issue/KT-40960) Unable to find usages in java of Kotlin constructor in library when sources is attached. ##### IDE. Project View - [`KT-37528`](https://youtrack.jetbrains.com/issue/KT-37528) 'Add Kotlin File/Class' suggests file before class ##### IDE. Refactorings - [`KT-19744`](https://youtrack.jetbrains.com/issue/KT-19744) "Change Signature" is not available on `constructor` keyword in primary constructor - [`KT-22170`](https://youtrack.jetbrains.com/issue/KT-22170) "Change Signature" ignores Java usages of methods marked with [@&#8203;JvmStatic](https://github.com/JvmStatic) - [`KT-37517`](https://youtrack.jetbrains.com/issue/KT-37517) Invalid qualified name on copy-paste in build.gradle.kts ##### IDE. Run Configurations - [`KT-24463`](https://youtrack.jetbrains.com/issue/KT-24463) MPP, Intellij runner: Run does not add resource directory to classpath - [`KT-36370`](https://youtrack.jetbrains.com/issue/KT-36370) Hide run gutter icons for not yet implemented targets in multiplatform projects - [`KT-39788`](https://youtrack.jetbrains.com/issue/KT-39788) MPP, Gradle runner: Run does not add resource directory to classpath on project reopen without Gradle sync ##### IDE. Scratch - [`KT-40557`](https://youtrack.jetbrains.com/issue/KT-40557) IDE / Scratch: .kt files are treated as Kotlin scratches, opening fails ##### IDE. Script - [`KT-35825`](https://youtrack.jetbrains.com/issue/KT-35825) Custom kotlin scripts have no project import suggestions in sub modules. - [`KT-39796`](https://youtrack.jetbrains.com/issue/KT-39796) Performance of KotlinScriptDependenciesClassFinder - [`KT-41622`](https://youtrack.jetbrains.com/issue/KT-41622) IDE: Kotlin scripting support can't find context class from same project - [`KT-41905`](https://youtrack.jetbrains.com/issue/KT-41905) IDE / Script: FilePathPattern parameter in [@&#8203;KotlinScript](https://github.com/KotlinScript) annotation is not reflected correctly in Pattern / Extension - [`KT-42206`](https://youtrack.jetbrains.com/issue/KT-42206) Cannot load script definitions using org.jetbrains.kotlin.jsr223.ScriptDefinitionForExtensionAndIdeConsoleRootsSource ##### IDE. Tests Support - [`KT-28854`](https://youtrack.jetbrains.com/issue/KT-28854) Run/Debug configurations: "Redirect input from" option is not available for Kotlin apps - [`KT-36909`](https://youtrack.jetbrains.com/issue/KT-36909) IDE attempts to run non-JVM tests launched from context menu as JVM ones - [`KT-37799`](https://youtrack.jetbrains.com/issue/KT-37799) Don't show a target choice in context menu for a test launched on specific platform ##### IDE. Wizards - [`KT-37965`](https://youtrack.jetbrains.com/issue/KT-37965) New Project wizard 1.4+: adding JUnit5 test library add dependency to runner - [`KT-40527`](https://youtrack.jetbrains.com/issue/KT-40527) Node.JS application template in New Project Wizard - [`KT-40874`](https://youtrack.jetbrains.com/issue/KT-40874) Open new project wizard help page in browser when clicking help button in new project wizard - [`KT-41417`](https://youtrack.jetbrains.com/issue/KT-41417) Add react template to new project wizard - [`KT-41418`](https://youtrack.jetbrains.com/issue/KT-41418) Wizard: Support KJS compiler choice - [`KT-41958`](https://youtrack.jetbrains.com/issue/KT-41958) New project wizard: Backend/Console applications template with Groovy DSL missing compileTestKotlin block - [`KT-42372`](https://youtrack.jetbrains.com/issue/KT-42372) Rrename test classes in wizard template to avoid name clashing ##### JavaScript - [`KT-38136`](https://youtrack.jetbrains.com/issue/KT-38136) JS IR BE: add an ability to generate separate js files for each module and maybe each library - [`KT-38868`](https://youtrack.jetbrains.com/issue/KT-38868) \[MPP / JS / IR] IllegalStateException: "Serializable class must have single primary constructor" for expect class without primary constructor with [@&#8203;Serializable](https://github.com/Serializable) annotation - [`KT-39088`](https://youtrack.jetbrains.com/issue/KT-39088) \[ KJS / IR ] IllegalStateException: Concrete fake override IrBasedFunctionHandle - [`KT-39367`](https://youtrack.jetbrains.com/issue/KT-39367) KJS: .d.ts generation not working for objects - [`KT-39378`](https://youtrack.jetbrains.com/issue/KT-39378) KJS / IR: "IllegalStateException: Operation is unsupported" with binaries.executable() and external function inside `for` loop with Iterator as return type - [`KT-41275`](https://youtrack.jetbrains.com/issue/KT-41275) KJS / IR: "IllegalStateException: Can't find name for declaration FUN" caused by default value in constructor parameter - [`KT-41627`](https://youtrack.jetbrains.com/issue/KT-41627) KJS / IR / Serialization: IllegalStateException: Serializable class must have single primary constructor - [`KT-37829`](https://youtrack.jetbrains.com/issue/KT-37829) Kotlin JS IR: "Properties without fields are not supported" for companion objects - [`KT-39740`](https://youtrack.jetbrains.com/issue/KT-39740) KJS / IR: Can't use Serializable and JsExport annotations at the same time ##### KMM Plugin - [`KT-41522`](https://youtrack.jetbrains.com/issue/KT-41522) KMM: exceptions for Mobile Multiplatform plugin are suggested to report to Google, not JetBrains - [`KT-42065`](https://youtrack.jetbrains.com/issue/KT-42065) \[KMM plugin] iOS apps fail to launch on iOS simulator with Xcode 12 ##### Libraries - [`KT-41799`](https://youtrack.jetbrains.com/issue/KT-41799) String.replace performance improvements - [`KT-43306`](https://youtrack.jetbrains.com/issue/KT-43306) Deprecate createTempFile and createTempDir functions in kotlin.io - [`KT-19192`](https://youtrack.jetbrains.com/issue/KT-19192) Provide file system extensions/APIs based on java.nio.file.Path - [`KT-41837`](https://youtrack.jetbrains.com/issue/KT-41837) Remove [@&#8203;ExperimentalStdlibApi](https://github.com/ExperimentalStdlibApi) from CancellationException ##### Middle-end. IR - [`KT-40193`](https://youtrack.jetbrains.com/issue/KT-40193) IR: pluginContext.referenceClass() is not resolving typealias - [`KT-41181`](https://youtrack.jetbrains.com/issue/KT-41181) Kotlin/Native 1.4.0 compiler fails on data class with >120 fields ##### Native. C and ObjC Import - [`KT-41250`](https://youtrack.jetbrains.com/issue/KT-41250) \[C-interop] Stubs for C functions without parameter names should have non-stable names - [`KT-41639`](https://youtrack.jetbrains.com/issue/KT-41639) Use LazyIR for enums and structs from cached libraries - [`KT-41655`](https://youtrack.jetbrains.com/issue/KT-41655) Native: "type cnames.structs.S of return value is not supported here: doesn't correspond to any C type" when accessing forward-declared-struct-typed C global variable ##### Native. ObjC Export - [`KT-38641`](https://youtrack.jetbrains.com/issue/KT-38641) Kotlin-Multiplatform: Objective-C `description` method name collision in Swift - [`KT-39206`](https://youtrack.jetbrains.com/issue/KT-39206) New line characters in [@&#8203;Deprecated](https://github.com/Deprecated) annotation cause syntax error in Kotlin/native exported header ##### Native. Platform libraries - [`KT-42191`](https://youtrack.jetbrains.com/issue/KT-42191) Support for Xcode 12 ##### Native. Runtime. Memory - [`KT-42275`](https://youtrack.jetbrains.com/issue/KT-42275) "Memory.cpp:1605: runtime assert: Recursive GC is disallowed" sometimes when using Kotlin from Swift deinit ##### Native. Stdlib - [`KT-39145`](https://youtrack.jetbrains.com/issue/KT-39145) MutableData append method ##### Tools. Android Extensions - [`KT-42342`](https://youtrack.jetbrains.com/issue/KT-42342) Build fails with `java.lang.RuntimeException: Duplicate class found in modules` on `checkDebug(Release)DuplicateClasses` task when both `kotlin-parcelize` and `kotlin-android-extensions` plugins are applied ##### Tools. CLI - [`KT-35111`](https://youtrack.jetbrains.com/issue/KT-35111) Extend CLI compilers help with link to online docs - [`KT-41916`](https://youtrack.jetbrains.com/issue/KT-41916) Add JVM target bytecode version 15 ##### Tools. Commonizer - [`KT-41220`](https://youtrack.jetbrains.com/issue/KT-41220) \[Commonizer] Short-circuit type aliases - [`KT-41247`](https://youtrack.jetbrains.com/issue/KT-41247) \[Commonizer] Missed supertypes in commonized class - [`KT-41643`](https://youtrack.jetbrains.com/issue/KT-41643) Commonizer exception for targets \[ios_x64], \[macos_x64] - [`KT-42574`](https://youtrack.jetbrains.com/issue/KT-42574) HMPP: unresolved platform.\* imports in nativeMain source set ##### Tools. Compiler Plugins - [`KT-36329`](https://youtrack.jetbrains.com/issue/KT-36329) Provide diagnostic in kotlinx.serialization when custom serializer mismatches property type - [`KT-40030`](https://youtrack.jetbrains.com/issue/KT-40030) Move the Parcelize functionality out of the Android Extensions plugin ##### Tools. Gradle - [`KT-33908`](https://youtrack.jetbrains.com/issue/KT-33908) Make Kotlin Gradle plugin compatible with the Gradle configuration cache - [`KT-35341`](https://youtrack.jetbrains.com/issue/KT-35341) KotlinCompile: Symlinked friend paths are no longer supported ##### Tools. Gradle. JS ##### New Features - [`KT-35330`](https://youtrack.jetbrains.com/issue/KT-35330) Allow to customise generated package.json - [`KT-39825`](https://youtrack.jetbrains.com/issue/KT-39825) Provide single point of Webpack configuration in Gradle script - [`KT-41054`](https://youtrack.jetbrains.com/issue/KT-41054) Support Yarn resolutions - [`KT-41340`](https://youtrack.jetbrains.com/issue/KT-41340) Add flag to suppress kotlin2js deprecation message - [`KT-41566`](https://youtrack.jetbrains.com/issue/KT-41566) Kotlin/JS: Support JavaScript Library distribution - [`KT-42222`](https://youtrack.jetbrains.com/issue/KT-42222) KJS / Gradle: "Cannot find package@version in yarn.lock" when npm dependencies of one package but with different version are used in project - [`KT-42339`](https://youtrack.jetbrains.com/issue/KT-42339) Support dukat binaries generation ##### Fixes - [`KT-39515`](https://youtrack.jetbrains.com/issue/KT-39515) package.json is regenerated without a visible reason - [`KT-39838`](https://youtrack.jetbrains.com/issue/KT-39838) Kotlin/JS Gradle tooling: NPM dependencies of different kinds with different versions of the same package fail with "Cannot find package@version in yarn.lock" - [`KT-39995`](https://youtrack.jetbrains.com/issue/KT-39995) Collect statistic about generateExternals feature - [`KT-40087`](https://youtrack.jetbrains.com/issue/KT-40087) Kotlin/JS, IR backend: browserRun: update in continuous mode fails: "ENOENT: no such file or directory" referring output .js - [`KT-40159`](https://youtrack.jetbrains.com/issue/KT-40159) Implement workaround / fix for webpack's "window is not defined" - [`KT-40178`](https://youtrack.jetbrains.com/issue/KT-40178) Browser run task prints output in TeamCity format - [`KT-40201`](https://youtrack.jetbrains.com/issue/KT-40201) Kotlin/JS: Gradle: public package.json has empty `devDependencies {}` - [`KT-40202`](https://youtrack.jetbrains.com/issue/KT-40202) Kotlin/JS: Gradle: NPM version range operators are written into package.json as escape sequences - [`KT-40342`](https://youtrack.jetbrains.com/issue/KT-40342) \[Gradle, JS, Maven] "Cannot find module" generating fake NPM module from Maven dependendency - [`KT-40462`](https://youtrack.jetbrains.com/issue/KT-40462) Collect statistic about usages of kotlin.js.generate.executable.default option - [`KT-40753`](https://youtrack.jetbrains.com/issue/KT-40753) Type script definition file is not referenced as types in the package.json - [`KT-40812`](https://youtrack.jetbrains.com/issue/KT-40812) Node.JS run working directory - [`KT-40865`](https://youtrack.jetbrains.com/issue/KT-40865) KJS / Gradle: Registering a task with a type that directly extends AbstractTask has been deprecated - [`KT-40986`](https://youtrack.jetbrains.com/issue/KT-40986) KJS / Gradle: BuildOperationQueueFailure when two different versions of js library are used as dependencies - [`KT-41125`](https://youtrack.jetbrains.com/issue/KT-41125) Bump NPM versions in 1.4.20 - [`KT-41286`](https://youtrack.jetbrains.com/issue/KT-41286) KJS / Gradle: args order in runTask is changed in 1.4.0 - [`KT-41475`](https://youtrack.jetbrains.com/issue/KT-41475) KJS / Gradle: debug mode doesn't support custom launchers in karma config - [`KT-41662`](https://youtrack.jetbrains.com/issue/KT-41662) Kotlin/JS: with CSS support mode == "extract" browser test fails even without CSS usage: "Error in config file!" - [`KT-42494`](https://youtrack.jetbrains.com/issue/KT-42494) KJS / Gradle: "Configuration cache state could not be cached" caused by Gradle configuration cache ##### Tools. Gradle. Native - [`KT-39764`](https://youtrack.jetbrains.com/issue/KT-39764) Assertions are disabled when running K/N compiler in Gradle process - [`KT-39999`](https://youtrack.jetbrains.com/issue/KT-39999) Cocoapods plugin's dummy header cannot be compiled - [`KT-40999`](https://youtrack.jetbrains.com/issue/KT-40999) CocoaPods Gradle plugin: Support custom cinterop options when declaring a pod dependency. - [`KT-41367`](https://youtrack.jetbrains.com/issue/KT-41367) CocoaPods Gradle plugin: support git repository dependency - [`KT-41844`](https://youtrack.jetbrains.com/issue/KT-41844) Kotlin 1.4.10 gradle configuration error with cocoapods using multiple multiplatform modules - [`KT-42531`](https://youtrack.jetbrains.com/issue/KT-42531) Gradle task "podGenIos" fails if a Pod with a static library is added. ##### Tools. Incremental Compile - [`KT-37446`](https://youtrack.jetbrains.com/issue/KT-37446) Incremental analysis for Java sources fails when run on JDK 11 ##### Tools. Parcelize - [`KT-39981`](https://youtrack.jetbrains.com/issue/KT-39981) Android parcel 'java.lang.VerifyError: Bad return type' - [`KT-42267`](https://youtrack.jetbrains.com/issue/KT-42267) `Platform declaration clash` error in IDE when using `kotlinx.android.parcel.Parcelize` - [`KT-42958`](https://youtrack.jetbrains.com/issue/KT-42958) False positive IDE error on classes with kotlinx.parcelize.Parcelize on project initial import - [`KT-43290`](https://youtrack.jetbrains.com/issue/KT-43290) Typo in error message for `ErrorsParcelize.DEPRECATED_ANNOTATION` - kotlin.parcelize instead of kotlinx.parcelize - [`KT-43291`](https://youtrack.jetbrains.com/issue/KT-43291) Diagnostic deprecation messages should not be shown in case `kotlin-android-extensions` plugin is applied ##### Tools. Scripts - [`KT-37987`](https://youtrack.jetbrains.com/issue/KT-37987) Kotlin script: hyphen arguments not forwarded to script - [`KT-38404`](https://youtrack.jetbrains.com/issue/KT-38404) Scripting API: Provide Location of Annotation Usage - [`KT-39502`](https://youtrack.jetbrains.com/issue/KT-39502) Scripting: reverse order of Severity enum so that ERROR > INFO - [`KT-42335`](https://youtrack.jetbrains.com/issue/KT-42335) No "caused by" info about an exception that thrown in Kotlin Script ##### Tools. kapt - [`KT-25960`](https://youtrack.jetbrains.com/issue/KT-25960) Interfaces annotated with JvmDefault has wrong modifiers during annotation processing - [`KT-37732`](https://youtrack.jetbrains.com/issue/KT-37732) Kapt task is broken after update to 1.3.70/1.3.71 - [`KT-42915`](https://youtrack.jetbrains.com/issue/KT-42915) Kapt generates invalid stubs for static methods in interfaces in Kotlin 1.4.20-M2 ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.20.zip | 11db93a4d6789e3406c7f60b9f267eba26d6483dcd771eff9f85bb7e9837011f | | kotlin-native-prebuilt-linux-1.4.20.tar.gz | b65cc8b1510b21f23587c5457a74dc9e7cd4a6294fa38c00d688837f8d52d554 | | kotlin-native-prebuilt-macos-1.4.20.tar.gz | 9040ab932f01696b91608a6fd46f78b2f5f399d3a1132a344af6d83c7570f1a9 | | kotlin-native-prebuilt-windows-1.4.20.zip | 80c26b36b358a1a2fdba184a354a758b00b6f27e719dc2086cf5d287f92f12a3 | ### [`v1.4.10`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.10): Kotlin 1.4.10 ##### Contents The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows. ##### Changelog ##### Compiler ##### Performance Improvements - [`KT-41149`](https://youtrack.jetbrains.com/issue/KT-41149) NI: Upgraded project from 1.3.72 to 1.4.0 hangs during build - [`KT-41335`](https://youtrack.jetbrains.com/issue/KT-41335) Kotlin Out of Memory When evaluating expression - [`KT-41400`](https://youtrack.jetbrains.com/issue/KT-41400) NI: Huge performance regression for kotlin compiler from 1.3.72 to 1.4.0 due to using list of dozen lambdas in a call ##### Fixes - [`KT-41005`](https://youtrack.jetbrains.com/issue/KT-41005) Coercion to Unit doesn't take into account nullability of a return type for lambda - [`KT-41043`](https://youtrack.jetbrains.com/issue/KT-41043) NI: StackOverflowError through `PostponedArgumentInputTypesResolver.getAllDeeplyRelatedTypeVariables` - [`KT-41135`](https://youtrack.jetbrains.com/issue/KT-41135) Type Inference Regression For Property Delegate With Receiver Type - [`KT-41140`](https://youtrack.jetbrains.com/issue/KT-41140) Unresolved reference to parameter of a catch block from lambda expression on 1.4.0 - [`KT-41150`](https://youtrack.jetbrains.com/issue/KT-41150) IllegalStateException: Couldn't obtain compiled function body for public final inline fun - [`KT-41164`](https://youtrack.jetbrains.com/issue/KT-41164) NI: "IllegalStateException: Error type encountered" with callbackFlow builder inside condition - [`KT-41202`](https://youtrack.jetbrains.com/issue/KT-41202) Type inference fails in 1.4.0 - [`KT-41218`](https://youtrack.jetbrains.com/issue/KT-41218) HMPP: arrayList declarations are visible both from stdlib-common and stdlib-jvm and lead to false-positive resolution ambiguity in IDE - [`KT-41308`](https://youtrack.jetbrains.com/issue/KT-41308) 1.4.0 Type inference regression in suspend blocks with elvis operator expressions - [`KT-41357`](https://youtrack.jetbrains.com/issue/KT-41357) ClassCastException for unstable smart cast on a property call receiver - [`KT-41386`](https://youtrack.jetbrains.com/issue/KT-41386) NI: Type mismatch with generic type parameters - [`KT-41426`](https://youtrack.jetbrains.com/issue/KT-41426) Operator compareTo is not called with nullable type - [`KT-41430`](https://youtrack.jetbrains.com/issue/KT-41430) Broken choosing overload by lambda return type inside builder inference - [`KT-41470`](https://youtrack.jetbrains.com/issue/KT-41470) Wrong nullability assertion is generated when using the BuilderInference annotation - [`KT-41482`](https://youtrack.jetbrains.com/issue/KT-41482) Add a fallback compiler flag to disable the unified null checks behavior ##### IDE - [`KT-41325`](https://youtrack.jetbrains.com/issue/KT-41325) SOE in IDEKotlinAsJavaSupport - [`KT-41390`](https://youtrack.jetbrains.com/issue/KT-41390) Typo: equals & hashCode are written with the first uppercase letter ##### IDE. Code Style, Formatting - [`KT-41314`](https://youtrack.jetbrains.com/issue/KT-41314) Formatter: Frequent freezes when reformatting code (TrailingCommaPostFormatProcessor) ##### IDE. Debugger - [`KT-40417`](https://youtrack.jetbrains.com/issue/KT-40417) Coroutines Debugger: “No coroutine information found” in case of main() entry-point without explicit debug-artifact ##### IDE. Gradle. Script - [`KT-39542`](https://youtrack.jetbrains.com/issue/KT-39542) EA-218043: java.util.NoSuchElementException: No element of given type found (GradleBuildRootsManager) - [`KT-41283`](https://youtrack.jetbrains.com/issue/KT-41283) Gradle scripts unable to support 1.4 language level features yet ##### IDE. Inspections and Intentions - [`KT-41264`](https://youtrack.jetbrains.com/issue/KT-41264) Disable “Redundant inner modifier” in 1.4.10 - [`KT-41395`](https://youtrack.jetbrains.com/issue/KT-41395) Inspection description misses a space (needs to be lowercase) ##### IDE. REPL - [`KT-40898`](https://youtrack.jetbrains.com/issue/KT-40898) REPL: "IllegalAccessError: tried to access field" caused by log4j ##### IDE. Wizards - [`KT-38921`](https://youtrack.jetbrains.com/issue/KT-38921) New project wizard: Backend/Console applications template with Groovy DSL generates build.gradle with KotlinCompile instead of compileKotlin ##### JavaScript - [`KT-38059`](https://youtrack.jetbrains.com/issue/KT-38059) Support arrays passed as named arguments to varargs - [`KT-40964`](https://youtrack.jetbrains.com/issue/KT-40964) KJS / IR: don't generate "import" (short names) for external interfaces - [`KT-41081`](https://youtrack.jetbrains.com/issue/KT-41081) KJS IR: nativeGetter, nativeSetter, nativeInvoke are not supported ##### Libraries - [`KT-41320`](https://youtrack.jetbrains.com/issue/KT-41320) Actual kotlin.test annotation typealiases are inaccessible in modular environment ##### Middle-end. IR - [`KT-41324`](https://youtrack.jetbrains.com/issue/KT-41324) IR: "Compilation failed: null" caused by StackOverflowError in compiler in multi-module project ##### Native. C and ObjC Import - [`KT-39762`](https://youtrack.jetbrains.com/issue/KT-39762) cinterop on 1.4-M2 doesn't include [@&#8203;Deprecated](https://github.com/Deprecated) Kotlin declaration for C declaration it fails to import ##### Native. ObjC Export - [`KT-39206`](https://youtrack.jetbrains.com/issue/KT-39206) New line characters in [@&#8203;Deprecated](https://github.com/Deprecated) annotation cause syntax error in Kotlin/native exported header - [`KT-40976`](https://youtrack.jetbrains.com/issue/KT-40976) "Unrecognized selector sent to instance" exception invoking suspending lambda from Swift in Native iOS project ##### Reflection - [`KT-40842`](https://youtrack.jetbrains.com/issue/KT-40842) "AssertionError: Built-in class kotlin.Any is not found" on java modular run ##### Tools. Compiler Plugins - [`KT-41321`](https://youtrack.jetbrains.com/issue/KT-41321) Upgrading to 1.4.0 fails compiling native with <x> is not bound error ##### Tools. Gradle. Multiplatform - [`KT-41083`](https://youtrack.jetbrains.com/issue/KT-41083) Transitive dependency on an MPP with host-specific source sets fails to resolve: "Couldn't resolve metadata artifact..." ##### Tools. Gradle. Native - [`KT-40834`](https://youtrack.jetbrains.com/issue/KT-40834) Cannot build Kotlin Multiplatform project on Windows 10 64-bit when the Cocoapods plugin is applied ##### Tools. Scripts - [`KT-35925`](https://youtrack.jetbrains.com/issue/KT-35925) REPL: Springboot autoconfiguration problem (META-INF/spring.factories not found ?) ##### Tools. kapt - [`KT-41313`](https://youtrack.jetbrains.com/issue/KT-41313) kapt 1.4.0 throws "ZipException: zip END header not found", when Graal SVM jar in classpath ##### Checksums | File | Sha256 | | --- | --- | | kotlin-compiler-1.4.10.zip | bb1a21d70e521a01ae104e99a082a6e7bb58699b86347049da521d175d0dace7 | | kotlin-native-linux-1.4.10.tar.gz | daedd047cfacb9cff064eae705c54d2ed61ef44b61c1ec944066603b8e9a373c | | kotlin-native-macos-1.4.10.tar.gz | e84f1622a6160a44e1f821d7539771a52389cdf3c9acaa94534b079a571503f3 | | kotlin-native-windows-1.4.10.zip | 7728814be6f3f7906f9d55deff7ce15165c5a21f0f59ad412de815d1dab0ec1f | ### [`v1.4.0`](https://github.com/JetBrains/kotlin/releases/tag/v1.4.0): Kotlin 1.4.0 ##### Contents The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows. ##### Changelog ##### 1.4.0 ##### Compiler ##### New Features - [`KT-23729`](https://youtrack.jetbrains.com/issue/KT-23729) Provide a way to generate JVM default method bodies in interfaces delegating to DefaultImpls - [`KT-30330`](https://youtrack.jetbrains.com/issue/KT-30330) Introduce KotlinNothingValueException and throw it instead of NPE on expressions of type Nothing - [`KT-38435`](https://youtrack.jetbrains.com/issue/KT-38435) Support suspend conversion on callable references in JVM backend ##### Fixes - [`KT-35483`](https://youtrack.jetbrains.com/issue/KT-35483) NI: compatibility mode - [`KT-39728`](https://youtrack.jetbrains.com/issue/KT-39728) Declarations from `kotlin.reflect` resolved to expect-classes even in JVM modules in IDE - [`KT-40153`](https://youtrack.jetbrains.com/issue/KT-40153) REPL IDE services completion fails on imports completion - [`KT-40404`](https://youtrack.jetbrains.com/issue/KT-40404) Mixed named/positional arguments: argument can be passed twice - [`KT-40544`](https://youtrack.jetbrains.com/issue/KT-40544) NI: "TYPE_MISMATCH: Required: MutableList\<out T!> Found: List<T>" caused by Java interface function - [`KT-40555`](https://youtrack.jetbrains.com/issue/KT-40555) NI: Spread operator allows inferred nullable types - [`KT-40646`](https://youtrack.jetbrains.com/issue/KT-40646) NI: TYPE_MISMATCH: "inferred type is Unit but Observer<T> was expected" caused by LieData.observe inference - [`KT-40691`](https://youtrack.jetbrains.com/issue/KT-40691) False positive CAPTURED_VAL_INITIALIZATION with EXACTLY_ONCE contract - [`KT-40693`](https://youtrack.jetbrains.com/issue/KT-40693) UnsupportedOperationException: no descriptor for type constructor of (CapturedType(out TResult)..CapturedType(out TResult)?) - [`KT-40824`](https://youtrack.jetbrains.com/issue/KT-40824) Usages of a typealias lose nullability and annotations in deserialization - [`KT-40843`](https://youtrack.jetbrains.com/issue/KT-40843) Unhandled exception for suspending methods that return Result type - [`KT-40869`](https://youtrack.jetbrains.com/issue/KT-40869) Recursion computation inside compiler resolve on a correct code - [`KT-40893`](https://youtrack.jetbrains.com/issue/KT-40893) Error "Captured values initialization is forbidden due to possible reassignment" when attempting to use the plusAssign operator with a java list inside an inline function - [`KT-40919`](https://youtrack.jetbrains.com/issue/KT-40919) kotlin.collections.ArrayDeque requires an explicit import when compiling with kotlinc 1.4-RC and -language-version 1.3 - [`KT-40920`](https://youtrack.jetbrains.com/issue/KT-40920) Regression in JvmDefault: incorrect access to missing DefaultImpls on default methods in Java interface overriding Kotlin interface - [`KT-40978`](https://youtrack.jetbrains.com/issue/KT-40978) Prohibit using suspend functions as SAM in fun interfaces ##### Kotlin/Native - Objective-C/Swift interop: - Reworked exception handling ([GH-3822](https://github.com/JetBrains/kotlin-native/pull/3822), [GH-3842](https://github.com/JetBrains/kotlin-native/pull/3842)) - Enabled support for Objective-C generics by default ([GH-3778](https://github.com/JetBrains/kotlin-native/pull/3778)) - Support for Kotlin’s suspending functions ([GH-3915](https://github.com/JetBrains/kotlin-native/pull/3915)) - Handle variadic block types in ObjC interop ([`KT-36766`](https://youtrack.jetbrains.com/issue/KT-36766)) - Added native-specific frontend checkers (implemented in the main Kotlin repository: [GH-3293](https://github.com/JetBrains/kotlin/pull/3293), [GH-3091](https://github.com/JetBrains/kotlin/pull/3091), [GH-3172](https://github.com/JetBrains/kotlin/pull/3172)) - .dSYMs for release binaries on Apple platforms ([GH-4085](https://github.com/JetBrains/kotlin-native/pull/4085)) - Improved compilation time of builds with interop libraries by reworking cinterop under the hood. - Experimental mimalloc allocator support (-Xallocator=mimalloc) to improve execution time performance. ([GH-3704](https://github.com/JetBrains/kotlin-native/pull/3704)) - Tune GC to improve execution time performance - Various fixes to compiler caches and Gradle daemon usage ##### Docs & Examples - [`KT-35218`](https://youtrack.jetbrains.com/issue/KT-35218) Fix misleading in JavaDoc for `createTempDir`/`createTempFile` - [`KT-36981`](https://youtrack.jetbrains.com/issue/KT-36981) Provide a visual illustration of source sets structure generated by `ios()`, `watchos()`, `tvos()` presets - [`KT-38050`](https://youtrack.jetbrains.com/issue/KT-38050) Language Guide: MPP reference: add sample of language settings for all roots instead of common root only ##### IDE - [`KT-30265`](https://youtrack.jetbrains.com/issue/KT-30265) IDE, MPP: False negative TYPE_PARAMETER_AS_REIFIED in common code - [`KT-40494`](https://youtrack.jetbrains.com/issue/KT-40494) UAST: "NoSuchElementException: No element of given type found" with use-site target annotation - [`KT-40639`](https://youtrack.jetbrains.com/issue/KT-40639) Shift IDE plugins updater numbers for Kotlin plugin ##### IDE. Code Style, Formatting - [`KT-40636`](https://youtrack.jetbrains.com/issue/KT-40636) Hard freeze on formatter: infinite recursion ##### IDE. Gradle Integration - [`KT-30116`](https://youtrack.jetbrains.com/issue/KT-30116) IDE: Unresolved reference in MPP module (androidMain source set) for annotation from common module (defined in commonMain and with JVM target) ##### IDE. Gradle. Script - [`KT-34552`](https://youtrack.jetbrains.com/issue/KT-34552) Deadlock in ScriptDefinitionsManager - [`KT-40675`](https://youtrack.jetbrains.com/issue/KT-40675) Gradle build file is not highlighted until navigating to symbol ##### IDE. JS - [`KT-40461`](https://youtrack.jetbrains.com/issue/KT-40461) Create new projects with kotlin.js.generate.executable.default=false ##### IDE. Script - [`KT-39547`](https://youtrack.jetbrains.com/issue/KT-39547) Kotlin script support freezes IDEA - [`KT-40242`](https://youtrack.jetbrains.com/issue/KT-40242) gradle.kts: Deadlock in ScriptClassRootsUpdater ##### IDE. Wizards - [`KT-36153`](https://youtrack.jetbrains.com/issue/KT-36153) New Project Wizard: provide more referential info on project structure editor screen - [`KT-39904`](https://youtrack.jetbrains.com/issue/KT-39904) New Project wizard 1.4: update Frontend Application to make it run with JS IR - [`KT-40149`](https://youtrack.jetbrains.com/issue/KT-40149) Gradle project wizard: templates for Kotlin/JS are not properly formatted ##### JavaScript - [`KT-25859`](https://youtrack.jetbrains.com/issue/KT-25859) JS: support function references to functions with vararg if expected type ends with repeated vararg element type - [`KT-40083`](https://youtrack.jetbrains.com/issue/KT-40083) K/JS-IR: java.lang.IllegalStateException: has not acquired a symbol yet - [`KT-40892`](https://youtrack.jetbrains.com/issue/KT-40892) KJS, IR: Unresolved references on importing classes from kotlinx-nodejs ##### Libraries - [`KT-39051`](https://youtrack.jetbrains.com/issue/KT-39051) Libraries native artifacts are published without sources ##### Tools. Gradle - [`KT-27816`](https://youtrack.jetbrains.com/issue/KT-27816) Provide a possibility to specify intermediate source sets between platform-agnostic and platform-specific test source sets - [`KT-37720`](https://youtrack.jetbrains.com/issue/KT-37720) Replace ArtifactTransform with TransformAction - [`KT-40559`](https://youtrack.jetbrains.com/issue/KT-40559) Adding the stdlib by default triggers warning in the Android Gradle Plugin ##### Tools. Gradle. JS - [`KT-40093`](https://youtrack.jetbrains.com/issue/KT-40093) Incorrect updating version of Kotlin/JS dependencies in package.json ##### Tools. Gradle. Multiplatform - [`KT-27320`](https://youtrack.jetbrains.com/issue/KT-27320) Provide a way to reuse same sources for similar Native target - [`KT-40058`](https://youtrack.jetbrains.com/issue/KT-40058) NPE from mpp gradle plugin on kotlinx.benchmarks ##### Tools. Gradle. Native - [`KT-40801`](https://youtrack.jetbrains.com/issue/KT-40801) Gradle CocoaPods integration: Cannot change a framework name ##### 1.4-RC ##### Backend. Native - [`KT-40209`](https://youtrack.jetbrains.com/issue/KT-40209) java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl@[`7648417`](https://github.com/JetBrains/kotlin/commit/76484173) - [`KT-40367`](https://youtrack.jetbrains.com/issue/KT-40367) Kotlin/Native-Swift interop (iOS): Array member initialization failing in release builds ##### Compiler ##### Fixes - [`KT-31025`](https://youtrack.jetbrains.com/issue/KT-31025) Type mismatch when callable reference is resolved with a functional expected type and SAM conversion - [`KT-37388`](https://youtrack.jetbrains.com/issue/KT-37388) Consider relaxing rules about inferring Nothing inside special constructions (if, try, when) - [`KT-37717`](https://youtrack.jetbrains.com/issue/KT-37717) NI: "IllegalStateException: Error type encountered" with [@&#8203;BuilderInference](https://github.com/BuilderInference) - [`KT-38427`](https://youtrack.jetbrains.com/issue/KT-38427) New inference in branched conditions (if, when) results in odd behavior with inconsistent compiler warnings and runtime errors - [`KT-38899`](https://youtrack.jetbrains.com/issue/KT-38899) NI: False positive IMPLICIT_NOTHING_TYPE_ARGUMENT_IN_RETURN_POSITION leads to NPE - [`KT-39468`](https://youtrack.jetbrains.com/issue/KT-39468) NI: overload resolution ambiguity between functions passing `T` and `Foo<T>` with a contravariant receiver - [`KT-39618`](https://youtrack.jetbrains.com/issue/KT-39618) NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer generic type on [@&#8203;BuilderInference](https://github.com/BuilderInference) annotated lambda parameter with receiver type - [`KT-39633`](https://youtrack.jetbrains.com/issue/KT-39633) NI: Incorrect type parameter instantiation based on contravariant type argument - [`KT-39691`](https://youtrack.jetbrains.com/issue/KT-39691) NI: Missing SAM conversion for nullable lambda - [`KT-39860`](https://youtrack.jetbrains.com/issue/KT-39860) Make Kotlin binaries publicly available (set KotlinCompilerVersion.IS_PRE_RELEASE = false) - [`KT-39900`](https://youtrack.jetbrains.com/issue/KT-39900) NI: Incorrect type inference in a lambda returning Unit - [`KT-39925`](https://youtrack.jetbrains.com/issue/KT-39925) New JVM default compilation mode doesn't check that JVM target is 1.8 - [`KT-39943`](https://youtrack.jetbrains.com/issue/KT-39943) Write information about all-compatibility mode in metadata - [`KT-39953`](https://youtrack.jetbrains.com/issue/KT-39953) NI: ClassCastException "cannot be cast to java.lang.Void" with if-else in return statement in ANdroid project - [`KT-40045`](https://youtrack.jetbrains.com/issue/KT-40045) NI: lambda’s receiver type isn't inferred properly - [`KT-40057`](https://youtrack.jetbrains.com/issue/KT-40057) NI: provideDelegate org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: wrong bytecode generated for static initializer - [`KT-40060`](https://youtrack.jetbrains.com/issue/KT-40060) NI: postponed variable from the builder inference flows to back-end and leads to throw an exception - [`KT-40112`](https://youtrack.jetbrains.com/issue/KT-40112) Kotlin Gradle DSL: COMPATIBILITY_WARNING on `kotlin.sourceSets` block - [`KT-40113`](https://youtrack.jetbrains.com/issue/KT-40113) Kotlin Gradle DSL: "Expression 'main' cannot be invoked as a function" for `distributions.main` DSL block - [`KT-40128`](https://youtrack.jetbrains.com/issue/KT-40128) Introduce compiler key to disable compatibility resolution mechanism for new inference features - [`KT-40151`](https://youtrack.jetbrains.com/issue/KT-40151) NI: postponed variable isn't substituted for top-level CR inside builder inference - [`KT-40214`](https://youtrack.jetbrains.com/issue/KT-40214) AbstractMethodError in gradle subplugin which is used in Android app - [`KT-40234`](https://youtrack.jetbrains.com/issue/KT-40234) Deprecation level "hidden" has no effect on callable reference argument - [`KT-40247`](https://youtrack.jetbrains.com/issue/KT-40247) NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in try-catch - [`KT-40254`](https://youtrack.jetbrains.com/issue/KT-40254) Rewrite at slice with two callable reference arguments - [`KT-40269`](https://youtrack.jetbrains.com/issue/KT-40269) NI: "disabled Unit conversions" error has appeared on green code - [`KT-40337`](https://youtrack.jetbrains.com/issue/KT-40337) NI: false positive "function should be called from coroutine or another suspend function" for suspend invoke operator in `when` block - [`KT-40406`](https://youtrack.jetbrains.com/issue/KT-40406) Prohibit reflection on adapted callable references ##### IDE - [`KT-39968`](https://youtrack.jetbrains.com/issue/KT-39968) Paths in KotlinJavaRuntime library aren't updated after you run IDE from a different directory - [`KT-39989`](https://youtrack.jetbrains.com/issue/KT-39989) NullPointerException when opening Kotlin facets in Project Structure dialog in IDEA 192 - [`KT-40311`](https://youtrack.jetbrains.com/issue/KT-40311) Create change_notes for 1.4 in IDE plugin description ##### IDE. Debugger - [`KT-39808`](https://youtrack.jetbrains.com/issue/KT-39808) (CoroutineDebugger) Doesn't start with kotlinx-coroutines-core >= 1.3.6 - [`KT-40073`](https://youtrack.jetbrains.com/issue/KT-40073) (CoroutineDebugger) Change minimum supported kotlinx.coroutines version to 1.3.8\* - [`KT-40172`](https://youtrack.jetbrains.com/issue/KT-40172) Restored frame variables isn't shown for suspended coroutines - [`KT-40635`](https://youtrack.jetbrains.com/issue/KT-40635) Coroutines Debugger: make IDE plugin accept coroutines 1.3.8-rc\* versions as well ##### IDE. Gradle Integration - [`KT-38744`](https://youtrack.jetbrains.com/issue/KT-38744) No dependency between Android `test` and commonTest source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true - [`KT-39037`](https://youtrack.jetbrains.com/issue/KT-39037) 'None of the consumable configurations have attributes' in MPP IDE import with transitive project dependency on self ##### IDE. Gradle. Script - [`KT-31137`](https://youtrack.jetbrains.com/issue/KT-31137) IntelliJ would get very slow when editing gradle buildSrc(using the kotlin dsl) - [`KT-36078`](https://youtrack.jetbrains.com/issue/KT-36078) Gradle Kotlin script context is not reloaded when gradle/wrapper/gradle-wrapper.properties file is changed - [`KT-39317`](https://youtrack.jetbrains.com/issue/KT-39317) ISE “Calling invokeAndWait from read-action leads to possible deadlock.” on importing simple Gradle-based project in nightly IJ ##### IDE. Inspections and Intentions - [`KT-28662`](https://youtrack.jetbrains.com/issue/KT-28662) Inspection to flag usage of the wrong Transient annotation on Kotlin Serializable class - [`KT-34209`](https://youtrack.jetbrains.com/issue/KT-34209) Switch default behaviour in 1.4 for insertion (to build script) via quick fix of the compiler option enabling inline classes - [`KT-36131`](https://youtrack.jetbrains.com/issue/KT-36131) Suggest to add a missing module dependency on an unresolved reference in Kotlin code - [`KT-37462`](https://youtrack.jetbrains.com/issue/KT-37462) Add "Add dependency to module" quickfix in multimodule Maven project - [`KT-39869`](https://youtrack.jetbrains.com/issue/KT-39869) Add whole project migration usages of kotlin.browser.\* & kotlin.dom.\* to kotlinx.browser.\* & kotlinx.dom.\* respectively ##### IDE. Wizards - [`KT-40004`](https://youtrack.jetbrains.com/issue/KT-40004) New Project wizard 1.4+: no `https://dl.bintray.com/kotlin/kotlinx` repository is added for kotlinx-html - [`KT-40037`](https://youtrack.jetbrains.com/issue/KT-40037) New Project wizard: update Ktor version - [`KT-40092`](https://youtrack.jetbrains.com/issue/KT-40092) Wizard: the templates panel on mac OS is too wide - [`KT-40232`](https://youtrack.jetbrains.com/issue/KT-40232) New Wizard: Android Sdk path doesn't have backslash escaping on Windows - [`KT-40371`](https://youtrack.jetbrains.com/issue/KT-40371) New Project Wizard: Frontend Application / Library results in broken run configuration - [`KT-40377`](https://youtrack.jetbrains.com/issue/KT-40377) New Project Wizard: Frontend Application defines NPM dependencies that are unnecessary with Kotlin 1.4-RC+ - [`KT-40378`](https://youtrack.jetbrains.com/issue/KT-40378) New Project Wizard: Frontend Application, Disabling JavaScript test framework has no effect - [`KT-40407`](https://youtrack.jetbrains.com/issue/KT-40407) Wizard: do not add stdlib by default for Gradle projects in wizard ##### JS. Tools - [`KT-39984`](https://youtrack.jetbrains.com/issue/KT-39984) Update dukat version in toolchain near to release of 1.4-RC ##### JavaScript - [`KT-32186`](https://youtrack.jetbrains.com/issue/KT-32186) Make sure K/JS Reflection API documentation is correct and fix it. - [`KT-37563`](https://youtrack.jetbrains.com/issue/KT-37563) K/JS: stacktrace is not captured for exceptions without primary constructor inherited from Exception/Error - [`KT-37752`](https://youtrack.jetbrains.com/issue/KT-37752) Generated typescript incorrect for constructors of derived classes - [`KT-37883`](https://youtrack.jetbrains.com/issue/KT-37883) KJS: Generated TypeScript uses 'declare' rather than 'export' - [`KT-38771`](https://youtrack.jetbrains.com/issue/KT-38771) JS: support non-reified type parameters in typeOf - [`KT-39873`](https://youtrack.jetbrains.com/issue/KT-39873) Update Kotlin JavaScript wrappers due to NON_EXPORTABLE_TYPE diagnostic introduction - [`KT-40126`](https://youtrack.jetbrains.com/issue/KT-40126) \[JS / IR] NPE while compiling interfaces with invoke which is passed as a delegate - [`KT-40216`](https://youtrack.jetbrains.com/issue/KT-40216) KJS / IR: AssertionError caused by an anonymous object in the dependency project ##### Libraries - [`KT-33069`](https://youtrack.jetbrains.com/issue/KT-33069) StringBuilder common functions - [`KT-35972`](https://youtrack.jetbrains.com/issue/KT-35972) Add contract to builder functions - [`KT-37101`](https://youtrack.jetbrains.com/issue/KT-37101) Mark following api with DeprecatedSinceKotlin("1.4") - [`KT-38360`](https://youtrack.jetbrains.com/issue/KT-38360) Make sure that JB libraries correctly define their npm deps and republish them (after KT-30619) - [`KT-38817`](https://youtrack.jetbrains.com/issue/KT-38817) 'capitalize' should convert digraphs to title case - [`KT-40168`](https://youtrack.jetbrains.com/issue/KT-40168) Remove StringBuilder.capacity from common and JS parts ##### Middle-end. IR - [`KT-40520`](https://youtrack.jetbrains.com/issue/KT-40520) Assert during fake-override generation ##### Tools. Commonizer - [`KT-40199`](https://youtrack.jetbrains.com/issue/KT-40199) Commonizer loses nullability of abbreviated types ##### Tools. Compiler Plugins - [`KT-40036`](https://youtrack.jetbrains.com/issue/KT-40036) Add diagnostic that shows is serialization plugin compatible with serialization-runtime ##### Tools. Gradle - [`KT-39755`](https://youtrack.jetbrains.com/issue/KT-39755) \[KJS / Gradle / Legacy mode] Directory with whitespace is not processed - [`KT-39809`](https://youtrack.jetbrains.com/issue/KT-39809) Kotlin Gradle plugin: ServiceConfigurationError: org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin: Provider org.jetbrains.kotlin.gradle.internal.AndroidSubplugin not a subtype - [`KT-39977`](https://youtrack.jetbrains.com/issue/KT-39977) Collect statistics of used -Xjvm-default options - [`KT-40300`](https://youtrack.jetbrains.com/issue/KT-40300) Fail the build if in MPP plugin no targets configured ##### Tools. Gradle. JS - [`KT-38170`](https://youtrack.jetbrains.com/issue/KT-38170) Investigate how to improve migration experience from pre 1.4.0 DSL to the new one - [`KT-39654`](https://youtrack.jetbrains.com/issue/KT-39654) Default CSS settings in webpack has priority over user's settings - [`KT-39842`](https://youtrack.jetbrains.com/issue/KT-39842) Kotlin/JS Gradle DSL: peerNpm dependency fails - [`KT-40048`](https://youtrack.jetbrains.com/issue/KT-40048) \[Gradle, JS] Deprecate kotlin-frontend plugin - [`KT-40067`](https://youtrack.jetbrains.com/issue/KT-40067) \[Gradle, JS] Public package.json for mixed JS/TS project - [`KT-40210`](https://youtrack.jetbrains.com/issue/KT-40210) Fail the build when Kotlin/JS target is not (properly) configured - [`KT-40320`](https://youtrack.jetbrains.com/issue/KT-40320) Gradle JS: make migration to the new Gradle DSL smoother ##### Tools. Gradle. Multiplatform - [`KT-32239`](https://youtrack.jetbrains.com/issue/KT-32239) Custom configurations inside Kotlin JVM Gradle projects can't properly resolve multiplatform dependencies - [`KT-39897`](https://youtrack.jetbrains.com/issue/KT-39897) \[Commonizer] Fast-pass for library fragments absent for some targets ##### Tools. J2K - [`KT-39739`](https://youtrack.jetbrains.com/issue/KT-39739) J2K: Access is allowed from event dispatch thread with IW lock only ##### Tools. kapt - [`KT-34604`](https://youtrack.jetbrains.com/issue/KT-34604) KAPT: Flaky NPE through `org.jetbrains.kotlin.kapt3.base.ProcessorLoader.doLoadProcessors` - [`KT-36302`](https://youtrack.jetbrains.com/issue/KT-36302) TypeTreeVisitor.visitMemberSelect IllegalStateException: node.sym must not be null on JDK 11 - [`KT-39876`](https://youtrack.jetbrains.com/issue/KT-39876) KAPT: Serialization of classpath structure is incorrect if there are dependencies between types in jar/dir ##### 1.4-M3 ##### Compiler ##### New Features - [`KT-23575`](https://youtrack.jetbrains.com/issue/KT-23575) Deprecate with replacement and SinceKotlin - [`KT-38652`](https://youtrack.jetbrains.com/issue/KT-38652) Do not generate optional annotations to class files on JVM - [`KT-38777`](https://youtrack.jetbrains.com/issue/KT-38777) Hide Throwable.addSuppressed member and prefer extension instead ##### Performance Improvements - [`KT-38489`](https://youtrack.jetbrains.com/issue/KT-38489) Compilation of kotlin html DSL increasingly slow - [`KT-28650`](https://youtrack.jetbrains.com/issue/KT-28650) Type inference for argument type is very slow if several interfaces with a type parameter is used as an upper bound of a type parameter ##### Fixes - [`KT-15971`](https://youtrack.jetbrains.com/issue/KT-15971) Incorrect bytecode generated when inheriting default arguments not from the first supertype - [`KT-25290`](https://youtrack.jetbrains.com/issue/KT-25290) NI: "AssertionError: If original type is SAM type, then candidate should have same type constructor" on out projection of Java class - [`KT-28672`](https://youtrack.jetbrains.com/issue/KT-28672) Contracts on calls with implicit receivers - [`KT-30279`](https://youtrack.jetbrains.com/issue/KT-30279) Support non-reified type parameters in typeOf - [`KT-31908`](https://youtrack.jetbrains.com/issue/KT-31908) NI: CCE on passing lambda to function which accepts vararg SAM interface - [`KT-32156`](https://youtrack.jetbrains.com/issue/KT-32156) New inference issue with generics - [`KT-32229`](https://youtrack.jetbrains.com/issue/KT-32229) New inference algorithm not taking into account the upper bound class - [`KT-33455`](https://youtrack.jetbrains.com/issue/KT-33455) Override equals/hashCode in functional interface wrappers - [`KT-34902`](https://youtrack.jetbrains.com/issue/KT-34902) AnalyzerException: Argument 1: expected I, but found R for unsigned types in generic data class - [`KT-35075`](https://youtrack.jetbrains.com/issue/KT-35075) AssertionError: "No resolved call for ..." with conditional function references - [`KT-35468`](https://youtrack.jetbrains.com/issue/KT-35468) Overcome ambiguity between typealias kotlin.Throws and the aliased type kotlin.jvm.Throws - [`KT-35494`](https://youtrack.jetbrains.com/issue/KT-35494) NI: Multiple duplicate error diagnostics (in IDE popup) with NULL_FOR_NONNULL_TYPE - [`KT-35681`](https://youtrack.jetbrains.com/issue/KT-35681) Wrong common supertype between raw and integer literal type leads to unsound code - [`KT-35937`](https://youtrack.jetbrains.com/issue/KT-35937) Error "Declaration has several compatible actuals" on incremental build - [`KT-36013`](https://youtrack.jetbrains.com/issue/KT-36013) Functional interface conversion not happens on a value of functional type with smart cast to a relevant functional type - [`KT-36045`](https://youtrack.jetbrains.com/issue/KT-36045) Do not depend on the order of lambda arguments to coerce result to `Unit` - [`KT-36448`](https://youtrack.jetbrains.com/issue/KT-36448) NI: fix tests after enabling NI in the compiler - [`KT-36706`](https://youtrack.jetbrains.com/issue/KT-36706) Prohibit functional interface constructor references - [`KT-36969`](https://youtrack.jetbrains.com/issue/KT-36969) Generate [@&#8203;NotNull](https://github.com/NotNull) on instance parameters of Interface$DefaultImpls methods - [`KT-37058`](https://youtrack.jetbrains.com/issue/KT-37058) Incorrect overload resolution ambiguity on callable reference in a conditional expression with new inference - [`KT-37120`](https://youtrack.jetbrains.com/issue/KT-37120) \[FIR] False UNRESOLVED_REFERENCE for public and protected member functions and properties which are declared in object inner class - [`KT-37149`](https://youtrack.jetbrains.com/issue/KT-37149) Conversion when generic specified by type argument of SAM type - [`KT-37249`](https://youtrack.jetbrains.com/issue/KT-37249) false TYPE_MISMATCH when When-expression branches have try-catch blocks - [`KT-37341`](https://youtrack.jetbrains.com/issue/KT-37341) NI: Type mismatch with combination of lambda and function reference - [`KT-37436`](https://youtrack.jetbrains.com/issue/KT-37436) AME: "Receiver class does not define or inherit an implementation of the resolved method" in runtime on usage of non-abstract method of fun interface - [`KT-37510`](https://youtrack.jetbrains.com/issue/KT-37510) NI infers `java.lang.Void` from the expression in a lazy property delegate and throws ClassCastException at runtime - [`KT-37541`](https://youtrack.jetbrains.com/issue/KT-37541) SAM conversion with fun interface without a function fails on compiling and IDE analysis in SamAdapterFunctionsScope.getSamConstructor() - [`KT-37574`](https://youtrack.jetbrains.com/issue/KT-37574) NI: Type mismatch with Kotlin object extending functional type passed as [@&#8203;FunctionalInterface](https://github.com/FunctionalInterface) to Java - [`KT-37630`](https://youtrack.jetbrains.com/issue/KT-37630) NI: ILT suitability in a call is broken if there are CST calculation and calling function's type parameters - [`KT-37665`](https://youtrack.jetbrains.com/issue/KT-37665) NI: applicability error due to implicitly inferred Nothing for returning T with expected type - [`KT-37712`](https://youtrack.jetbrains.com/issue/KT-37712) No extension receiver in functional interface created with lambda - [`KT-37715`](https://youtrack.jetbrains.com/issue/KT-37715) NI: VerifyError: Bad type on operand stack with varargs generic value when type is inferred - [`KT-37721`](https://youtrack.jetbrains.com/issue/KT-37721) NI: Function reference with vararg parameter treated as array and missing default parameter is rejected - [`KT-37887`](https://youtrack.jetbrains.com/issue/KT-37887) NI: Smart casting for Map doesn't work if the variable is already "smart casted" - [`KT-37914`](https://youtrack.jetbrains.com/issue/KT-37914) NI: broken inference for a casting to subtype function within the common constraint system with this subtype - [`KT-37952`](https://youtrack.jetbrains.com/issue/KT-37952) NI: improve lambdas completion through separation the lambdas analysis into several steps - [`KT-38069`](https://youtrack.jetbrains.com/issue/KT-38069) Callable reference adaptation should have dependency on API version 1.4 - [`KT-38143`](https://youtrack.jetbrains.com/issue/KT-38143) New type inference fails when calling extension function defined on generic type with type arguments nested too deep - [`KT-38156`](https://youtrack.jetbrains.com/issue/KT-38156) FIR Metadata generation - [`KT-38197`](https://youtrack.jetbrains.com/issue/KT-38197) java.lang.OutOfMemoryError: Java heap space: failed reallocation of scalar replaced objects - [`KT-38259`](https://youtrack.jetbrains.com/issue/KT-38259) NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for provideDelegate - [`KT-38337`](https://youtrack.jetbrains.com/issue/KT-38337) Map delegation fails for inline classes - [`KT-38401`](https://youtrack.jetbrains.com/issue/KT-38401) FIR: protected effective visibility is handled unprecisely - [`KT-38416`](https://youtrack.jetbrains.com/issue/KT-38416) FIR: infinite loop in BB coroutine test 'overrideDefaultArgument.kt' - [`KT-38432`](https://youtrack.jetbrains.com/issue/KT-38432) FIR: incorrect effective visibility in anonymous object - [`KT-38434`](https://youtrack.jetbrains.com/issue/KT-38434) Implement resolution of suspend-conversion on FE only, but give error if suspend conversion is called - [`KT-38437`](https://youtrack.jetbrains.com/issue/KT-38437) \[FIR] String(CharArray) is resolved to java.lang.String constructor instead of kotlin.text.String pseudo-constructor - [`KT-38439`](https://youtrack.jetbrains.com/issue/KT-38439) NI: anonymous functions without receiver is allowed if there is an expected type with receiver - [`KT-38473`](https://youtrack.jetbrains.com/issue/KT-38473) FIR: ConeIntegerLiteralType in signature - [`KT-38537`](https://youtrack.jetbrains.com/issue/KT-38537) IllegalArgumentException: "marginPrefix must be non-blank string" with raw strings and space as margin prefix in trimMargin() call - [`KT-38604`](https://youtrack.jetbrains.com/issue/KT-38604) Implicit suspend conversion on call arguments doesn't work on vararg elements - [`KT-38680`](https://youtrack.jetbrains.com/issue/KT-38680) NSME when calling generic interface method with default parameters overriden with inline class type argument - [`KT-38681`](https://youtrack.jetbrains.com/issue/KT-38681) Wrong bytecode generated when calling generic interface method with default parameters overriden with primitive type argument - [`KT-38691`](https://youtrack.jetbrains.com/issue/KT-38691) NI: overload resolution ambiguity if take `R` and `() -> R`, and pass literal lambda, which returns `R` - [`KT-38799`](https://youtrack.jetbrains.com/issue/KT-38799) False positive USELESS_CAST for lambda parameter - [`KT-38802`](https://youtrack.jetbrains.com/issue/KT-38802) Generated code crashes by ClassCastException when delegating with inline class - [`KT-38853`](https://youtrack.jetbrains.com/issue/KT-38853) Backend Internal error: Error type encountered: Unresolved type for nested class used in an annotation argument on an interface method - [`KT-38890`](https://youtrack.jetbrains.com/issue/KT-38890) NI: false negative Type mismatch for values with fun keyword - [`KT-39010`](https://youtrack.jetbrains.com/issue/KT-39010) NI: Regression with false-positive smartcast on var of generic type - [`KT-39013`](https://youtrack.jetbrains.com/issue/KT-39013) 202, ASM 8: "AnalyzerException: Execution can fall off the end of the code" - [`KT-39260`](https://youtrack.jetbrains.com/issue/KT-39260) "AssertionError: Unsigned type expected: Int" in range - [`KT-39305`](https://youtrack.jetbrains.com/issue/KT-39305) NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER: unable to infer deeply nested type bound when class implements generic interface - [`KT-39408`](https://youtrack.jetbrains.com/issue/KT-39408) Using unsigned arrays as generics fails in 1.4-M2 with class cast exception - [`KT-39533`](https://youtrack.jetbrains.com/issue/KT-39533) NI: Wrong overload resolution for methods with SAM converted function reference arguments - [`KT-39535`](https://youtrack.jetbrains.com/issue/KT-39535) NI: Inference fails for the parameters of SAM converted lambdas with type parameters - [`KT-39603`](https://youtrack.jetbrains.com/issue/KT-39603) Require explicit override in JVM default compatibility mode on implicit generic specialization of inherited methods in classes - [`KT-39671`](https://youtrack.jetbrains.com/issue/KT-39671) Couldn't inline method call 'expectBody' - [`KT-39816`](https://youtrack.jetbrains.com/issue/KT-39816) NI:ClassCastException and no IDE error with provideDelegate when DELEGATE_SPECIAL_FUNCTION_MISSING in OI - [`KT-32779`](https://youtrack.jetbrains.com/issue/KT-32779) `Rewrite at slice` in array access resolution in coroutine inference - [`KT-39387`](https://youtrack.jetbrains.com/issue/KT-39387) Can't build Kotlin project due to overload resolution ambiguity on flatMap calls - [`KT-39229`](https://youtrack.jetbrains.com/issue/KT-39229) NI: resolution to wrong candidate (SAM-type against similar functional type) ##### Docs & Examples - [`KT-36245`](https://youtrack.jetbrains.com/issue/KT-36245) Document that [@&#8203;kotlin](https://github.com/kotlin).native.ThreadLocal annotation doesn't work anywhere except in Kotlin/Native - [`KT-37943`](https://youtrack.jetbrains.com/issue/KT-37943) Conflicting overloads in the factory functions sample code in Coding Conventions Page ##### IDE ##### New Features - [`KT-10974`](https://youtrack.jetbrains.com/issue/KT-10974) Add Code Style: Import Layout Configuration Table - [`KT-39065`](https://youtrack.jetbrains.com/issue/KT-39065) "Join lines" should remove trailing comma on call site ##### Fixes - [`KT-9065`](https://youtrack.jetbrains.com/issue/KT-9065) Wrong result when move statement through if block with call with lambda - [`KT-14757`](https://youtrack.jetbrains.com/issue/KT-14757) Move statement up breaks code in function parameter list - [`KT-14946`](https://youtrack.jetbrains.com/issue/KT-14946) Move statement up/down (with Ctrl+Shift+Up/Down) messes with empty lines - [`KT-15143`](https://youtrack.jetbrains.com/issue/KT-15143) Kotlin: Colors\&Fonts -> "Enum entry" should use Language Default -> Classes - Static field - [`KT-17887`](https://youtrack.jetbrains.com/issue/KT-17887) Moving statement (Ctrl/Cmd+Shift+Down) messes with use block - [`KT-34187`](https://youtrack.jetbrains.com/issue/KT-34187) UAST cannot get type of array access - [`KT-34524`](https://youtrack.jetbrains.com/issue/KT-34524) "PSI and index do not match" and IDE freeze with library import from `square/workflow` - [`KT-35574`](https://youtrack.jetbrains.com/issue/KT-35574) UAST: UBreakExpression in when expression should be UYieldExpression - [`KT-36801`](https://youtrack.jetbrains.com/issue/KT-36801) IDE: Unsupported language version value is represented with "latest stable" in GUI - [`KT-37378`](https://youtrack.jetbrains.com/issue/KT-37378) Remove IDE option "Enable new type inference algorithm..." in 1.4 - [`KT-38003`](https://youtrack.jetbrains.com/issue/KT-38003) "Analyze Data Flow from Here" should work on parameter of abstract method - [`KT-38173`](https://youtrack.jetbrains.com/issue/KT-38173) Reified types do no have extends information - [`KT-38217`](https://youtrack.jetbrains.com/issue/KT-38217) Make Kotlin plugin settings searchable - [`KT-38247`](https://youtrack.jetbrains.com/issue/KT-38247) "IncorrectOperationException: Incorrect expression" through UltraLightUtils.kt: inlined string is not escaped before parsing - [`KT-38293`](https://youtrack.jetbrains.com/issue/KT-38293) Throwable: "'codestyle.name.kotlin' is not found in java.util.PropertyResourceBundle" at KotlinLanguageCodeStyleSettingsProvider.getConfigurableDisplayName() - [`KT-38407`](https://youtrack.jetbrains.com/issue/KT-38407) Drop components from plugin.xml - [`KT-38443`](https://youtrack.jetbrains.com/issue/KT-38443) No error on change in property initializer - [`KT-38521`](https://youtrack.jetbrains.com/issue/KT-38521) ISE: Loop in parent structure when converting a DOT_QUALIFIED_EXPRESSION with parent ANNOTATED_EXPRESSION - [`KT-38571`](https://youtrack.jetbrains.com/issue/KT-38571) Rework deprecated EPs - [`KT-38632`](https://youtrack.jetbrains.com/issue/KT-38632) Change the code style to official in tests ##### IDE. Code Style, Formatting ##### Fixes - [`KT-24750`](https://youtrack.jetbrains.com/issue/KT-24750) Formatter: Minimum blank lines after class header does nothing - [`KT-31169`](https://youtrack.jetbrains.com/issue/KT-31169) IDEA settings search fails to find "Tabs and Indents" tab in Kotlin code style settings - [`KT-35359`](https://youtrack.jetbrains.com/issue/KT-35359) Incorrect indent for multiline expression in string template - [`KT-37420`](https://youtrack.jetbrains.com/issue/KT-37420) Add setting to disable inserting empty line between declaration and declaration with comment - [`KT-37891`](https://youtrack.jetbrains.com/issue/KT-37891) Formatter inserts empty lines between annotated properties - [`KT-38036`](https://youtrack.jetbrains.com/issue/KT-38036) Use trailing comma setting does not apply to code example in Settings dialog - [`KT-38568`](https://youtrack.jetbrains.com/issue/KT-38568) False positive: weak warning "Missing line break" on -> in when expression - [`KT-39024`](https://youtrack.jetbrains.com/issue/KT-39024) Add option for blank lines before declaration with comment or annotation on separate line - [`KT-39079`](https://youtrack.jetbrains.com/issue/KT-39079) Trailing comma: add base support for call site - [`KT-39123`](https://youtrack.jetbrains.com/issue/KT-39123) Option `Align 'when' branches in columns` does nothing - [`KT-39180`](https://youtrack.jetbrains.com/issue/KT-39180) Move trailing comma settings in Other tab ##### IDE. Completion - [`KT-18538`](https://youtrack.jetbrains.com/issue/KT-18538) Completion of static members of grand-super java class inserts unnecessary qualifier - [`KT-38445`](https://youtrack.jetbrains.com/issue/KT-38445) Fully qualified class name is used instead after insertion of `delay` method ##### IDE. Debugger ##### Fixes - [`KT-14057`](https://youtrack.jetbrains.com/issue/KT-14057) Debugger couldn't step into Reader.read - [`KT-14828`](https://youtrack.jetbrains.com/issue/KT-14828) Bad step into/over behavior for functions with default parameters - [`KT-36403`](https://youtrack.jetbrains.com/issue/KT-36403) Method breakpoints don't work for libraries - [`KT-36404`](https://youtrack.jetbrains.com/issue/KT-36404) Evaluate: "AssertionError: Argument expression is not saved for a SAM constructor" - [`KT-37486`](https://youtrack.jetbrains.com/issue/KT-37486) Kotlin plugin keeps reference to stream debugger support classes after stream debugger plugin is disabled - [`KT-38484`](https://youtrack.jetbrains.com/issue/KT-38484) Coroutines Debugger: IAE “Requested element count -1 is less than zero.” is thrown by calling dumpCoroutines - [`KT-38606`](https://youtrack.jetbrains.com/issue/KT-38606) Coroutine Debugger: OCE from org.jetbrains.kotlin.idea.debugger.coroutine.proxy.mirror.BaseMirror.isCompatible - [`KT-39143`](https://youtrack.jetbrains.com/issue/KT-39143) NPE on setCurrentStackFrame to Kotlin inner compiled class content - [`KT-39412`](https://youtrack.jetbrains.com/issue/KT-39412) Failed to find Premain-Class manifest attribute when debugging main method with ktor - [`KT-39634`](https://youtrack.jetbrains.com/issue/KT-39634) (CoroutineDebugger) Agent doesn't start if using kotlinx-coroutines-core only dependency - [`KT-39648`](https://youtrack.jetbrains.com/issue/KT-39648) Coroutines debugger doesn't see stacktraces in case of the project has kotlinx-coroutines-debug dependency ##### IDE. Gradle Integration ##### Performance Improvements - [`KT-39059`](https://youtrack.jetbrains.com/issue/KT-39059) Poor performance of `modifyDependenciesOnMppModules` ##### Fixes - [`KT-35921`](https://youtrack.jetbrains.com/issue/KT-35921) Gradle Import fails with "Unsupported major.minor version 52.0" on pure Java project in case "Gradle JDK" is lower 1.8 and Kotlin plugin is enabled - [`KT-36673`](https://youtrack.jetbrains.com/issue/KT-36673) Gradle Project importing: move ModelBuilders and ModelProviders to kotlin-gradle-tooling jar - [`KT-36792`](https://youtrack.jetbrains.com/issue/KT-36792) IDEA 2020.1: Some module->module dependencies in HMPP project are missed after import from Gradle - [`KT-37125`](https://youtrack.jetbrains.com/issue/KT-37125) Imported modules structure for MPP project is displayed messy in UI in IDEA 2020.1 - [`KT-37428`](https://youtrack.jetbrains.com/issue/KT-37428) NPE at KotlinFacetSettings.setLanguageLevel() on the first project import - [`KT-38706`](https://youtrack.jetbrains.com/issue/KT-38706) IDE Gradle import creates 4 JavaScript modules for MPP source sets with BOTH compiler type - [`KT-38767`](https://youtrack.jetbrains.com/issue/KT-38767) Published hierarchical multiplatform library symbols are unresolved in IDE (master) - [`KT-38842`](https://youtrack.jetbrains.com/issue/KT-38842) False positive \[INVISIBLE_MEMBER] for `internal` declaration of commonMain called from commonTest - [`KT-39213`](https://youtrack.jetbrains.com/issue/KT-39213) IDE: references from MPP project to JavaScript library are unresolved, when project and library are compiled with "both" mode - [`KT-39657`](https://youtrack.jetbrains.com/issue/KT-39657) Language settings for intermediate source-sets are lost during import ##### IDE. Gradle. Script ##### New Features - [`KT-34481`](https://youtrack.jetbrains.com/issue/KT-34481) `*.gradle.kts`: use Intellij IDEA Gradle project sync mechanics for updating script configuration ##### Performance Improvements - [`KT-34138`](https://youtrack.jetbrains.com/issue/KT-34138) Deadlock in `ScriptTemplatesFromDependenciesProvider` - [`KT-38875`](https://youtrack.jetbrains.com/issue/KT-38875) Deadlock in ScriptClassRootsUpdater.checkInvalidSdks ##### Fixes - [`KT-34265`](https://youtrack.jetbrains.com/issue/KT-34265) Bogus "build configuration failed, run 'gradle tasks' for more information" message and other issues related to "script dependencies" - [`KT-34444`](https://youtrack.jetbrains.com/issue/KT-34444) \*.gradle.kts: special storage of all scripts configuration on one file - [`KT-35153`](https://youtrack.jetbrains.com/issue/KT-35153) build.gradle.kts: scripts in removed subproject remain imported, but shouldn't - [`KT-35573`](https://youtrack.jetbrains.com/issue/KT-35573) Request for gradle build script configuration only after explicit click on notification - [`KT-36675`](https://youtrack.jetbrains.com/issue/KT-36675) move .gradle.kts ModelBuilders and ModelProviders to kotlin-gradle-tooling jar - [`KT-37178`](https://youtrack.jetbrains.com/issue/KT-37178) build.gradle.kts: Rework the notification for scripts out of project - [`KT-37631`](https://youtrack.jetbrains.com/issue/KT-37631) Unnecessary loading dependencies after opening build.gradle.kts after project import with Gradle 6 - [`KT-37863`](https://youtrack.jetbrains.com/issue/KT-37863) Scanning dependencies for script definitions takes too long or indefinitely during Gradle import - [`KT-38296`](https://youtrack.jetbrains.com/issue/KT-38296) MISSING_DEPENDENCY_SUPERCLASS in the build.gradle.kts editor while Gradle runs Ok - [`KT-38541`](https://youtrack.jetbrains.com/issue/KT-38541) "Invalid file" exception in ScriptChangeListener.getAnalyzableKtFileForScript() - [`KT-39104`](https://youtrack.jetbrains.com/issue/KT-39104) “Gradle Kotlin DSL script configuration is missing” after importing project in IJ201, Gradle 6.3 - [`KT-39469`](https://youtrack.jetbrains.com/issue/KT-39469) Gradle version is not updated in script dependencies if the version of gradle was changed in gradle-wrapper.properties - [`KT-39771`](https://youtrack.jetbrains.com/issue/KT-39771) Freeze 30s from org.jetbrains.kotlin.scripting.resolve.ApiChangeDependencyResolverWrapper.resolve on loading script configuration with Gradle 5.6.4 ##### IDE. Inspections and Intentions ##### New Features - [`KT-14884`](https://youtrack.jetbrains.com/issue/KT-14884) Intention to add missing "class" keyword for enum and annotation top-level declarations - [`KT-17209`](https://youtrack.jetbrains.com/issue/KT-17209) Provide intention to fix platform declaration clash (CONFLICTING_JVM_DECLARATIONS) - [`KT-24522`](https://youtrack.jetbrains.com/issue/KT-24522) Suggest to move typealias outside the class - [`KT-30263`](https://youtrack.jetbrains.com/issue/KT-30263) Detect redundant conversions of unsigned types - [`KT-35893`](https://youtrack.jetbrains.com/issue/KT-35893) Support Inspection for unnecessary asSequence() call - [`KT-38559`](https://youtrack.jetbrains.com/issue/KT-38559) "Change JVM name" ([@&#8203;JvmName](https://github.com/JvmName)) quickfix: improve name suggester for generic functions - [`KT-38597`](https://youtrack.jetbrains.com/issue/KT-38597) Expand Boolean intention - [`KT-38982`](https://youtrack.jetbrains.com/issue/KT-38982) Add "Logger initialized with foreign class" inspection - [`KT-39131`](https://youtrack.jetbrains.com/issue/KT-39131) TrailingCommaInspection: should suggest fixes for call-site without warnings ##### Fixes - [`KT-5271`](https://youtrack.jetbrains.com/issue/KT-5271) Missing QuickFix for Multiple supertypes available - [`KT-11865`](https://youtrack.jetbrains.com/issue/KT-11865) "Create secondary constructor" quick fix always inserts parameter-less call to `this()` - [`KT-14021`](https://youtrack.jetbrains.com/issue/KT-14021) Quickfix to add parameter to function gives strange name to parameter - [`KT-17121`](https://youtrack.jetbrains.com/issue/KT-17121) "Implement members" quick fix is not suggested - [`KT-17368`](https://youtrack.jetbrains.com/issue/KT-17368) Don't highlight members annotated with [@&#8203;JsName](https://github.com/JsName) as unused - [`KT-20795`](https://youtrack.jetbrains.com/issue/KT-20795) "replace explicit parameter with it" creates invalid code in case of overload ambiguities - [`KT-22014`](https://youtrack.jetbrains.com/issue/KT-22014) Intention "convert lambda to reference" should be available for implicit 'this' - [`KT-22015`](https://youtrack.jetbrains.com/issue/KT-22015) Intention "Convert lambda to reference" should be available in spite of the lambda in or out of parentheses - [`KT-22142`](https://youtrack.jetbrains.com/issue/KT-22142) Intentions: "Convert to primary constructor" changes semantics for property with custom setter - [`KT-22878`](https://youtrack.jetbrains.com/issue/KT-22878) Empty argument list at the call site of custom function named "suspend" shouldn't be reported as unnecessary - [`KT-24281`](https://youtrack.jetbrains.com/issue/KT-24281) Importing of invoke() from the same file is reported as unused even if it isn't - [`KT-25050`](https://youtrack.jetbrains.com/issue/KT-25050) False-positive inspection "Call replaceable with binary operator" for 'equals' - [`KT-26361`](https://youtrack.jetbrains.com/issue/KT-26361) [@&#8203;Deprecated](https://github.com/Deprecated) "ReplaceWith" quickfix inserts 'this' incorrectly when using function imports - [`KT-27651`](https://youtrack.jetbrains.com/issue/KT-27651) 'Condition is always true' inspection should not be triggered when the condition has references to a named constant - [`KT-29934`](https://youtrack.jetbrains.com/issue/KT-29934) False negative `Change type` quickfix on primary constructor override val parameter when it has wrong type - [`KT-31682`](https://youtrack.jetbrains.com/issue/KT-31682) 'Convert lambda to reference' intention inside class with function which return object produces uncompilable code - [`KT-31760`](https://youtrack.jetbrains.com/issue/KT-31760) Implement Abstract Function/Property intentions position generated member improperly - [`KT-32511`](https://youtrack.jetbrains.com/issue/KT-32511) Create class quick fix is not suggested in super type list in case of missing primary constructor - [`KT-32565`](https://youtrack.jetbrains.com/issue/KT-32565) False positive "Variable is the same as 'credentials' and should be inlined" with object declared and returned from lambda - [`KT-32801`](https://youtrack.jetbrains.com/issue/KT-32801) False positive "Call on collection type may be reduced" with mapNotNull, generic lambda block and new inference - [`KT-33951`](https://youtrack.jetbrains.com/issue/KT-33951) ReplaceWith quickfix with unqualified object member call doesn't substitute argument for parameter - [`KT-34378`](https://youtrack.jetbrains.com/issue/KT-34378) "Convert lambda to reference" refactoring does not work for suspend functions - [`KT-34677`](https://youtrack.jetbrains.com/issue/KT-34677) False positive "Collection count can be converted to size" with `Iterable` - [`KT-34696`](https://youtrack.jetbrains.com/issue/KT-34696) Wrong 'Redundant qualifier name' for 'MyEnum.values' usage - [`KT-34713`](https://youtrack.jetbrains.com/issue/KT-34713) "Condition is always 'false'": quickfix "Delete expression" doesn't remove `else` keyword (may break control flow) - [`KT-35015`](https://youtrack.jetbrains.com/issue/KT-35015) ReplaceWith doesn't substitute parameters with argument expressions - [`KT-35329`](https://youtrack.jetbrains.com/issue/KT-35329) Replace 'when' with 'if' intention: do not suggest if 'when' is used as expression and it has no 'else' branch - [`KT-36194`](https://youtrack.jetbrains.com/issue/KT-36194) "Add braces to 'for' statement" inserts extra line break and moves the following single-line comment - [`KT-36406`](https://youtrack.jetbrains.com/issue/KT-36406) "To ordinary string literal" intention adds unnecessary escapes to characters in template expression - [`KT-36461`](https://youtrack.jetbrains.com/issue/KT-36461) "Create enum constant" quick fix adds after semicolon, if the last entry has a comma - [`KT-36462`](https://youtrack.jetbrains.com/issue/KT-36462) "Create enum constant" quick fix doesn't add trailing comma - [`KT-36508`](https://youtrack.jetbrains.com/issue/KT-36508) False positive "Replace 'to' with infix form" when 'to' lambda generic type argument is specified explicitly - [`KT-36930`](https://youtrack.jetbrains.com/issue/KT-36930) Intention "Specify type explicitly" adds NotNull annotation when calling java method with the annotation - [`KT-37148`](https://youtrack.jetbrains.com/issue/KT-37148) "Remove redundant `.let` call doesn't remove extra calls - [`KT-37156`](https://youtrack.jetbrains.com/issue/KT-37156) "Unused unary operator" inspection highlighting is hard to see - [`KT-37173`](https://youtrack.jetbrains.com/issue/KT-37173) "Replace with string templates" intention for String.format produces uncompilable string template - [`KT-37181`](https://youtrack.jetbrains.com/issue/KT-37181) Don't show "Remove redundant qualifier name" inspection on qualified Companion imported with star import - [`KT-37214`](https://youtrack.jetbrains.com/issue/KT-37214) "Convert lambda to reference" with a labeled "this" receiver fails - [`KT-37256`](https://youtrack.jetbrains.com/issue/KT-37256) False positive `PlatformExtensionReceiverOfInline` inspection if a platform type value is passed to a nullable receiver - [`KT-37744`](https://youtrack.jetbrains.com/issue/KT-37744) "Convert lambda to reference" inspection quick fix create incompilable code when type is inferred from lambda parameter - [`KT-37746`](https://youtrack.jetbrains.com/issue/KT-37746) "Redundant suspend modifier" should not be reported for functions with actual keyword - [`KT-37842`](https://youtrack.jetbrains.com/issue/KT-37842) "Convert to anonymous function" creates broken code with suspend functions - [`KT-37908`](https://youtrack.jetbrains.com/issue/KT-37908) "Convert to anonymous object" quickfix: false negative when interface has concrete functions - [`KT-37967`](https://youtrack.jetbrains.com/issue/KT-37967) Replace 'invoke' with direct call intention adds unnecessary parenthesis - [`KT-37977`](https://youtrack.jetbrains.com/issue/KT-37977) "Replace 'invoke' with direct call" intention: false positive when function is not operator - [`KT-38062`](https://youtrack.jetbrains.com/issue/KT-38062) Reactor Quickfix throws `NotImplementedError` for Kotlin - [`KT-38240`](https://youtrack.jetbrains.com/issue/KT-38240) False positive redundant semicolon with `as` cast and `not` unary operator on next line - [`KT-38261`](https://youtrack.jetbrains.com/issue/KT-38261) Redundant 'let' call removal leaves ?. operator and makes code uncompilable - [`KT-38310`](https://youtrack.jetbrains.com/issue/KT-38310) Remove explicit type annotation intention drops 'suspend' - [`KT-38492`](https://youtrack.jetbrains.com/issue/KT-38492) False positive "Add import" intention for already imported class - [`KT-38520`](https://youtrack.jetbrains.com/issue/KT-38520) SetterBackingFieldAssignmentInspection throws exception - [`KT-38649`](https://youtrack.jetbrains.com/issue/KT-38649) False positive quickfix "Assignment should be lifted out of when" in presence of smartcasts - [`KT-38677`](https://youtrack.jetbrains.com/issue/KT-38677) Invalid psi tree after `Lift assigment out of...` - [`KT-38790`](https://youtrack.jetbrains.com/issue/KT-38790) "Convert sealed subclass to object" for data classes doesn't remove 'data' keyword - [`KT-38829`](https://youtrack.jetbrains.com/issue/KT-38829) 'Remove redundant backticks' can be broken with @&#8203; in name - [`KT-38831`](https://youtrack.jetbrains.com/issue/KT-38831) 'Replace with assignment' can be broken with fast code change - [`KT-38832`](https://youtrack.jetbrains.com/issue/KT-38832) "Remove curly braces" intention may produce CCE - [`KT-38948`](https://youtrack.jetbrains.com/issue/KT-38948) False positive quickfix "Make containing function suspend" for anonymous function - [`KT-38961`](https://youtrack.jetbrains.com/issue/KT-38961) "Useless call on collection type" for filterNotNull on non-null array where list return type is expected - [`KT-39069`](https://youtrack.jetbrains.com/issue/KT-39069) Improve TrailingCommaInspection - [`KT-39151`](https://youtrack.jetbrains.com/issue/KT-39151) False positive inspection to replace Java forEach with Kotlin forEach when using ConcurrentHashMap ##### IDE. JS - [`KT-39275`](https://youtrack.jetbrains.com/issue/KT-39275) Kotlin JS Browser template for kotlin dsl doesn't include index.html ##### IDE. KDoc - [`KT-32163`](https://youtrack.jetbrains.com/issue/KT-32163) Open Quick Documentation when cursor inside function / constructor brackets ##### IDE. Navigation - [`KT-32245`](https://youtrack.jetbrains.com/issue/KT-32245) Method in Kotlin class is not listed among implementing methods - [`KT-33510`](https://youtrack.jetbrains.com/issue/KT-33510) There is no gutter icon to navigate from `actual` to `expect` if `expect` and the corresponding `actual` declarations are in the same file - [`KT-38260`](https://youtrack.jetbrains.com/issue/KT-38260) Navigation bar doesn't show directories of files with a single top level Kotlin class - [`KT-38466`](https://youtrack.jetbrains.com/issue/KT-38466) Top level functions/properties aren't shown in navigation panel ##### IDE. Project View - [`KT-36444`](https://youtrack.jetbrains.com/issue/KT-36444) Structure view: add ability to sort by visibility - [`KT-38276`](https://youtrack.jetbrains.com/issue/KT-38276) Structure view: support visibility filter for class properties ##### IDE. REPL - [`KT-38454`](https://youtrack.jetbrains.com/issue/KT-38454) Kotlin REPL in IntelliJ doesn't take module's JVM target setting into account ##### IDE. Refactorings - [`KT-12878`](https://youtrack.jetbrains.com/issue/KT-12878) "Change signature" forces line breaks after every parameter declaration - [`KT-30128`](https://youtrack.jetbrains.com/issue/KT-30128) Change Signature should move lambda outside of parentheses if the arguments are reordered so that the lambda goes last - [`KT-35338`](https://youtrack.jetbrains.com/issue/KT-35338) Move/rename refactorings mess up code formatting by wrapping lines - [`KT-38449`](https://youtrack.jetbrains.com/issue/KT-38449) Extract variable refactoring is broken by NPE - [`KT-38543`](https://youtrack.jetbrains.com/issue/KT-38543) Copy can't work to package with escaped package - [`KT-38627`](https://youtrack.jetbrains.com/issue/KT-38627) Rename package refactorings mess up code formatting by wrapping lines ##### IDE. Run Configurations - [`KT-34516`](https://youtrack.jetbrains.com/issue/KT-34516) Don't suggest incompatible targets in a drop-down list for run test gutter icon in multiplatform projects - [`KT-38102`](https://youtrack.jetbrains.com/issue/KT-38102) DeprecatedMethodException ConfigurationFactory.getId ##### IDE. Scratch - [`KT-38455`](https://youtrack.jetbrains.com/issue/KT-38455) Kotlin scratch files don't take module's JVM target setting into account ##### IDE. Script - [`KT-39791`](https://youtrack.jetbrains.com/issue/KT-39791) Kotlin plugin loads VFS in the output directories ##### IDE. Structural Search - [`KT-39721`](https://youtrack.jetbrains.com/issue/KT-39721) Optimize Kotlin SSR by using the index - [`KT-39733`](https://youtrack.jetbrains.com/issue/KT-39733) Augmented assignment matching - [`KT-39769`](https://youtrack.jetbrains.com/issue/KT-39769) "When expressions" predefined template doesn't match all when expressions ##### IDE. Wizards - [`KT-38673`](https://youtrack.jetbrains.com/issue/KT-38673) New Project Wizard: multiplatform templates are generated having unsupported Gradle version in a wrapper - [`KT-38810`](https://youtrack.jetbrains.com/issue/KT-38810) Incorrect order of build phases in Xcode project from new wizard - [`KT-38952`](https://youtrack.jetbrains.com/issue/KT-38952) Remove old new_project_wizards - [`KT-39503`](https://youtrack.jetbrains.com/issue/KT-39503) New Project wizard 1.4+: release kotlinx.html version is added to dependencies with milestone IDE plugin - [`KT-39700`](https://youtrack.jetbrains.com/issue/KT-39700) Wizard: group project templates on the first step by the project type - [`KT-39770`](https://youtrack.jetbrains.com/issue/KT-39770) CSS Support in Kotlin wizards - [`KT-39826`](https://youtrack.jetbrains.com/issue/KT-39826) Fix Android app in New Template Wizard - [`KT-39843`](https://youtrack.jetbrains.com/issue/KT-39843) Change imports in JS/browser wizard ##### JS. Tools - [`KT-32273`](https://youtrack.jetbrains.com/issue/KT-32273) Kotlin/JS console error on hot reload - [`KT-39498`](https://youtrack.jetbrains.com/issue/KT-39498) Update dukat version in toolchain near to release of 1.4-M3 ##### JavaScript - [`KT-29916`](https://youtrack.jetbrains.com/issue/KT-29916) Implement `typeOf` on JS - [`KT-35857`](https://youtrack.jetbrains.com/issue/KT-35857) Kotlin/JS CLI bundled to IDEA plugin can't compile using IR back-end out of the box - [`KT-36798`](https://youtrack.jetbrains.com/issue/KT-36798) KJS: prohibit using [@&#8203;JsExport](https://github.com/JsExport) on a non-top-level declaration - [`KT-37771`](https://youtrack.jetbrains.com/issue/KT-37771) KJS: Generated TypeScript does not recursively export base classes (can fail with generics) - [`KT-38113`](https://youtrack.jetbrains.com/issue/KT-38113) Review public API of JS stdlib for IR BE - [`KT-38765`](https://youtrack.jetbrains.com/issue/KT-38765) \[JS / IR] AssertionError: class EventEmitter: Super class should be any: with nested class extending parent class - [`KT-38768`](https://youtrack.jetbrains.com/issue/KT-38768) KJS IR: generate ES2015 (aka ES6) classes ##### Libraries ##### New Features - [`KT-11253`](https://youtrack.jetbrains.com/issue/KT-11253) Function to sum long or other numeric property of items in a collection - [`KT-28933`](https://youtrack.jetbrains.com/issue/KT-28933) capitalize() with Locale argument in the JDK stdlib - [`KT-34142`](https://youtrack.jetbrains.com/issue/KT-34142) Create SortedMap with Comparator and items - [`KT-34506`](https://youtrack.jetbrains.com/issue/KT-34506) Add Sequence.flatMap overload that works on Iterable - [`KT-36894`](https://youtrack.jetbrains.com/issue/KT-36894) Support flatMapIndexed in the Collections API - [`KT-38480`](https://youtrack.jetbrains.com/issue/KT-38480) Introduce experimental annotation for enabling overload resolution by lambda result - [`KT-38708`](https://youtrack.jetbrains.com/issue/KT-38708) minOf/maxOf functions to return min/max value provided by selector - [`KT-39707`](https://youtrack.jetbrains.com/issue/KT-39707) Make some interfaces in stdlib functional ##### Performance Improvements - [`KT-23142`](https://youtrack.jetbrains.com/issue/KT-23142) toHashSet is suboptimal for inputs with a lot of duplicates ##### Fixes - [`KT-21266`](https://youtrack.jetbrains.com/issue/KT-21266) Add module-info for standard library artifacts - [`KT-23322`](https://youtrack.jetbrains.com/issue/KT-23322) Document 'reduce' operation behavior on empty collections - [`KT-28753`](https://youtrack.jetbrains.com/issue/KT-28753) Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total order - [`KT-30083`](https://youtrack.jetbrains.com/issue/KT-30083) Annotate KTypeProjection.STAR with JvmField in a compatible way - [`KT-30084`](https://youtrack.jetbrains.com/issue/KT-30084) Annotate functions in KTypeProjection.Companion with JvmStatic - [`KT-31343`](https://youtrack.jetbrains.com/issue/KT-31343) Deprecate old String <-> CharArray, ByteArray conversion api - [`KT-34596`](https://youtrack.jetbrains.com/issue/KT-34596) Add some validation to KTypeProjection constructor - [`KT-35978`](https://youtrack.jetbrains.com/issue/KT-35978) Review and remove experimental stdlib API status for 1.4 - [`KT-38388`](https://youtrack.jetbrains.com/issue/KT-38388) Document `fromIndex` and `toIndex` parameters - [`KT-38854`](https://youtrack.jetbrains.com/issue/KT-38854) Gradually change the return type of collection min/max functions to non-nullable - [`KT-39023`](https://youtrack.jetbrains.com/issue/KT-39023) Document split(Pattern) extension differences from Pattern.split - [`KT-39064`](https://youtrack.jetbrains.com/issue/KT-39064) Introduce minOrNull and maxOrNull extension functions on collections - [`KT-39235`](https://youtrack.jetbrains.com/issue/KT-39235) Lift experimental annotation from bit operations - [`KT-39237`](https://youtrack.jetbrains.com/issue/KT-39237) Lift experimental annotation from common StringBuilder - [`KT-39238`](https://youtrack.jetbrains.com/issue/KT-39238) Appendable.appendRange - remove nullability - [`KT-39239`](https://youtrack.jetbrains.com/issue/KT-39239) Lift experimental annotation from String <-> utf8 conversion api - [`KT-39244`](https://youtrack.jetbrains.com/issue/KT-39244) KJS: update polyfills, all or most of them must not be enumerable - [`KT-39330`](https://youtrack.jetbrains.com/issue/KT-39330) Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.\* ##### Middle-end. IR - [`KT-31088`](https://youtrack.jetbrains.com/issue/KT-31088) need a way to compute fake overrides for pure IR - [`KT-33207`](https://youtrack.jetbrains.com/issue/KT-33207) Kotlin/Native: KNPE during deserialization of an inner class - [`KT-33267`](https://youtrack.jetbrains.com/issue/KT-33267) Kotlin/Native: Deserialization error for an "inner" extension property imported from a class - [`KT-37255`](https://youtrack.jetbrains.com/issue/KT-37255) Make psi2ir aware of declarations provided by compiler plugins ##### Reflection - [`KT-22936`](https://youtrack.jetbrains.com/issue/KT-22936) Not all things can be changed to `createType` yet, and now `defaultType` methods are starting to fail - [`KT-32241`](https://youtrack.jetbrains.com/issue/KT-32241) Move KType.javaType into stdlib from reflect - [`KT-34344`](https://youtrack.jetbrains.com/issue/KT-34344) KType.javaType implementation throws when invoked with a typeOf<T>() - [`KT-38491`](https://youtrack.jetbrains.com/issue/KT-38491) IllegalArgumentException when using callBy on function with inline class parameters and default arguments - [`KT-38881`](https://youtrack.jetbrains.com/issue/KT-38881) Add KClass.isFun modifier of functional interfaces to reflection ##### Tools. Android Extensions - [`KT-25807`](https://youtrack.jetbrains.com/issue/KT-25807) Kotlin extension annotation [@&#8203;Parcelize](https://github.com/Parcelize) in AIDL returns Object instead of original T ##### Tools. CLI - [`KT-30211`](https://youtrack.jetbrains.com/issue/KT-30211) Support a way to pass arguments to the underlying JVM in kotlinc batch scripts on Windows - [`KT-30778`](https://youtrack.jetbrains.com/issue/KT-30778) kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutines - [`KT-38070`](https://youtrack.jetbrains.com/issue/KT-38070) Compiler option to bypass prerelease metadata incompatibility error - [`KT-38413`](https://youtrack.jetbrains.com/issue/KT-38413) Add JVM target bytecode version 14 ##### Tools. Compiler Plugins - [`KT-39274`](https://youtrack.jetbrains.com/issue/KT-39274) \[KJS / IR] Custom serializer for class without zero argument constructor doesn't compile ##### Tools. Gradle - [`KT-25428`](https://youtrack.jetbrains.com/issue/KT-25428) Kotlin Gradle Plugin: Use new Gradle API for Lazy tasks - [`KT-34487`](https://youtrack.jetbrains.com/issue/KT-34487) Gradle build fails with "Cannot run program "java": error=7, Argument list too long - [`KT-35957`](https://youtrack.jetbrains.com/issue/KT-35957) MPP IC fails with "X has several compatible actual declarations" error - [`KT-38250`](https://youtrack.jetbrains.com/issue/KT-38250) Drop support for Gradle versions older than 5.3 in the Kotlin Gradle plugin ##### Tools. Gradle. JS ##### New Features - [`KT-30619`](https://youtrack.jetbrains.com/issue/KT-30619) Support NPM transitive dependencies in multi-platform JS target - [`KT-38286`](https://youtrack.jetbrains.com/issue/KT-38286) \[Gradle, JS] Error handling on Webpack problems ##### Fixes - [`KT-31669`](https://youtrack.jetbrains.com/issue/KT-31669) Gradle/JS: rise error when plugin loaded more than once - [`KT-32531`](https://youtrack.jetbrains.com/issue/KT-32531) \[Gradle/JS] Add scoped NPM dependencies - [`KT-34832`](https://youtrack.jetbrains.com/issue/KT-34832) \[Kotlin/JS] Failed build after webpack run (Karma not found) - [`KT-35194`](https://youtrack.jetbrains.com/issue/KT-35194) Kotlin/JS: browserRun fails with "address already in use" when trying to connect to local server - [`KT-35611`](https://youtrack.jetbrains.com/issue/KT-35611) Kotlin Gradle plugin should report `kotlin2js` plugin ID as deprecated - [`KT-35641`](https://youtrack.jetbrains.com/issue/KT-35641) Kotlin Gradle plugin should report `kotlin-dce-js` plugin ID as deprecated - [`KT-36410`](https://youtrack.jetbrains.com/issue/KT-36410) JS: Collect stats about IR backend usage - [`KT-36451`](https://youtrack.jetbrains.com/issue/KT-36451) KJS Adding npm dependency breaks Webpack devserver reloading - [`KT-37258`](https://youtrack.jetbrains.com/issue/KT-37258) Kotlin/JS + Gradle: in continuous mode kotlinNpmInstall time to time outputs "ENOENT: no such file or directory" error - [`KT-38109`](https://youtrack.jetbrains.com/issue/KT-38109) \[Gradle, JS] Error handling on Karma launcher problems - [`KT-38331`](https://youtrack.jetbrains.com/issue/KT-38331) Add an ability to control generating externals for npm deps individually - [`KT-38485`](https://youtrack.jetbrains.com/issue/KT-38485) \[Gradle, JS] Unable to configure JS compiler with string - [`KT-38683`](https://youtrack.jetbrains.com/issue/KT-38683) Remove possibility to set NPM dependency without version - [`KT-38990`](https://youtrack.jetbrains.com/issue/KT-38990) Support multiple range versions for NPM dependencies - [`KT-38994`](https://youtrack.jetbrains.com/issue/KT-38994) Remove possibility to set NPM dependency with npm(org, name, version) - [`KT-39109`](https://youtrack.jetbrains.com/issue/KT-39109) ArithmeticException: "/ by zero" caused by kotlinNodeJsSetup task with enabled gradle caching on Windows - [`KT-39210`](https://youtrack.jetbrains.com/issue/KT-39210) Kotlin/JS: with both JS and MPP modules in the same project Gradle configuration fails on `nodejs {}` and `browser {}` - [`KT-39377`](https://youtrack.jetbrains.com/issue/KT-39377) Use standard source-map-loader instead of custom one ##### Tools. Gradle. Multiplatform - [`KT-39184`](https://youtrack.jetbrains.com/issue/KT-39184) Support publication of Kotlin-distributed libraries with Gradle Metadata - [`KT-39304`](https://youtrack.jetbrains.com/issue/KT-39304) Gradle import error `java.util.NoSuchElementException: Key source set foo is missing in the map` on unused source set ##### Tools. Gradle. Native - [`KT-37514`](https://youtrack.jetbrains.com/issue/KT-37514) CocoaPods Gradle plugin: Support building from terminal projects for several platforms - [`KT-38440`](https://youtrack.jetbrains.com/issue/KT-38440) Make error message about missing Podfile path for cocoapods integration actionable for a user - [`KT-38991`](https://youtrack.jetbrains.com/issue/KT-38991) Gradle MPP plugin: Enable parallel in-process execution for K/N compiler - [`KT-39935`](https://youtrack.jetbrains.com/issue/KT-39935) Support overriding the `KotlinNativeCompile` task sources - [`KT-37512`](https://youtrack.jetbrains.com/issue/KT-37512) Cocoapods Gradle plugin: Improve error logging for external tools ##### Tools. J2K - [`KT-35169`](https://youtrack.jetbrains.com/issue/KT-35169) Do not show "Inline local variable" popup during "Cleaning up code" phase of J2K - [`KT-38004`](https://youtrack.jetbrains.com/issue/KT-38004) J2K breaks java getter call in java code - [`KT-38450`](https://youtrack.jetbrains.com/issue/KT-38450) J2K should convert Java SAM interfaces to Kotlin fun interfaces ##### Tools. JPS - [`KT-27458`](https://youtrack.jetbrains.com/issue/KT-27458) The Kotlin standard library is not found in the module graph ... in a non-Kotlin project. - [`KT-29552`](https://youtrack.jetbrains.com/issue/KT-29552) Project is completely rebuilt after each gradle sync. ##### Tools. Scripts - [`KT-37766`](https://youtrack.jetbrains.com/issue/KT-37766) Impossible to apply compiler plugins onto scripts with the new scripting API ##### Tools. kapt - [`KT-29355`](https://youtrack.jetbrains.com/issue/KT-29355) Provide access to default values for primary constructor properties ##### 1.4-M2 ##### Compiler ##### New Features - [`KT-37432`](https://youtrack.jetbrains.com/issue/KT-37432) Do not include annotations fields into 'visibility must be explicitly specified' check in api mode ##### Performance Improvements - [`KT-27362`](https://youtrack.jetbrains.com/issue/KT-27362) Anonymous classes representing function/property references contain rarely used methods - [`KT-35626`](https://youtrack.jetbrains.com/issue/KT-35626) NI: Performance problem with many type parameters - [`KT-36047`](https://youtrack.jetbrains.com/issue/KT-36047) Compiler produces if-chain instead of switch when when subject captured as variable - [`KT-36638`](https://youtrack.jetbrains.com/issue/KT-36638) Use 'java/lang/StringBuilder.append (C)Ljava/lang/StringBuilder;' when appending single character in JVM_IR - [`KT-37389`](https://youtrack.jetbrains.com/issue/KT-37389) Avoid type approximation during generation constraints with EQUALITY kind - [`KT-37392`](https://youtrack.jetbrains.com/issue/KT-37392) Avoid substitution and type approximation for simple calls - [`KT-37546`](https://youtrack.jetbrains.com/issue/KT-37546) NI: high memory and CPU consumption due to creating useless captured types (storing in approximated types cache, unneeded computations) ##### Fixes - [`KT-11265`](https://youtrack.jetbrains.com/issue/KT-11265) Factory pattern and overload resolution ambiguity - [`KT-27524`](https://youtrack.jetbrains.com/issue/KT-27524) Inline class is boxed when used with suspend modifier - [`KT-27586`](https://youtrack.jetbrains.com/issue/KT-27586) ClassCastException occurs if the Result (or any other inline class) is returned from a lambda - [`KT-30419`](https://youtrack.jetbrains.com/issue/KT-30419) Use boxed version of an inline class in return type position for covariant and generic-specialized overrides - [`KT-31163`](https://youtrack.jetbrains.com/issue/KT-31163) FIR: consider replacing comparisons with compareTo calls and some additional intrinsics - [`KT-31585`](https://youtrack.jetbrains.com/issue/KT-31585) ClassCastException with derived class delegated to generic class with inline class type argument - [`KT-31823`](https://youtrack.jetbrains.com/issue/KT-31823) NI: Type mismatch with a star projection and `UnsafeVariance` - [`KT-33119`](https://youtrack.jetbrains.com/issue/KT-33119) Pre-increment for inline class wrapping Int compiles to direct increment instead of inc-impl - [`KT-33715`](https://youtrack.jetbrains.com/issue/KT-33715) Kotlin/Native: metadata compiler - [`KT-34048`](https://youtrack.jetbrains.com/issue/KT-34048) IllegalAccessError when initializing val property in EXACTLY_ONCE lambda - [`KT-34433`](https://youtrack.jetbrains.com/issue/KT-34433) NI: Type mismatch with a star projection and `UnsafeVariance` - [`KT-35133`](https://youtrack.jetbrains.com/issue/KT-35133) FIR Java: don't set 'isOperator' for methods with non-operator names - [`KT-35234`](https://youtrack.jetbrains.com/issue/KT-35234) ClassCastException with creating an inline class from a function reference of covariant or generic-specialized override - [`KT-35406`](https://youtrack.jetbrains.com/issue/KT-35406) Generic type implicitly inferred as Nothing with no warning - [`KT-35587`](https://youtrack.jetbrains.com/issue/KT-35587) Plain namespace strings in JvmNameResolver.PREDEFINED_STRINGS are prone to namespace changes during jar relocation. - [`KT-36044`](https://youtrack.jetbrains.com/issue/KT-36044) NI: premature fixation a type variable if there were nested lambdas (constraint source was the deepest lambda) - [`KT-36057`](https://youtrack.jetbrains.com/issue/KT-36057) \[FIR] Incorrect smartcast - [`KT-36069`](https://youtrack.jetbrains.com/issue/KT-36069) NI: TYPE_MISMATCH caused by incorrect inference to Nothing - [`KT-36125`](https://youtrack.jetbrains.com/issue/KT-36125) Callable reference resolution ambiguity error is not displayed properly in the IDE - [`KT-36191`](https://youtrack.jetbrains.com/issue/KT-36191) IDE locks loading packages and editing file containing `try` keyword inside string template - [`KT-36222`](https://youtrack.jetbrains.com/issue/KT-36222) NI: Improve error message about nullability mismatch for a generic call - [`KT-36249`](https://youtrack.jetbrains.com/issue/KT-36249) NI doesn't use upper bound for T of called function during infer return type and as a result infer it to `Any?` if the resulting type was intersection type - [`KT-36345`](https://youtrack.jetbrains.com/issue/KT-36345) FIR: record argument mapping for use in back-end - [`KT-36446`](https://youtrack.jetbrains.com/issue/KT-36446) NI: "UnsupportedOperationException no descriptor for type constructor of IntegerLiteralType\[Int,Long,Byte,Short]" with BuilderInference and delegate - [`KT-36758`](https://youtrack.jetbrains.com/issue/KT-36758) \[FIR] Unresolved callable reference to member of local class - [`KT-36759`](https://youtrack.jetbrains.com/issue/KT-36759) \[FIR] Unsupported callable reference resolution for methods with default parameters - [`KT-36762`](https://youtrack.jetbrains.com/issue/KT-36762) \[FIR] Unresolved `array.clone()` - [`KT-36764`](https://youtrack.jetbrains.com/issue/KT-36764) \[FIR] Bug in inference with DefinitelyNotNull types - [`KT-36816`](https://youtrack.jetbrains.com/issue/KT-36816) NI: definitely not-null (T!!) types in invariant positions don't approximate to T inside inference process - [`KT-36819`](https://youtrack.jetbrains.com/issue/KT-36819) NI: premature completion of lambdas, which are passed somewhere - [`KT-36850`](https://youtrack.jetbrains.com/issue/KT-36850) Incorrect private visibility of sealed class constructors - [`KT-36856`](https://youtrack.jetbrains.com/issue/KT-36856) Throwing exception when there is inheritance in Kotlin from Java class, which contains methods with the same JVM descriptors - [`KT-36879`](https://youtrack.jetbrains.com/issue/KT-36879) Introduce FIR_IDENTICAL in diagnostic tests - [`KT-36881`](https://youtrack.jetbrains.com/issue/KT-36881) FIR: completion don't runs for return expressions - [`KT-36887`](https://youtrack.jetbrains.com/issue/KT-36887) \[FIR] Unresolved member in nested lambda in initializer - [`KT-36905`](https://youtrack.jetbrains.com/issue/KT-36905) \[FIR] Unresolved in lambda in default argument position - [`KT-36953`](https://youtrack.jetbrains.com/issue/KT-36953) AssertionError: "Unsigned type expected: null" when there is a range with an unsigned type - [`KT-37009`](https://youtrack.jetbrains.com/issue/KT-37009) FIR: Bound smart-cast lost - [`KT-37027`](https://youtrack.jetbrains.com/issue/KT-37027) FIR: Wrong projection on spread + varargs on non-final types - [`KT-37038`](https://youtrack.jetbrains.com/issue/KT-37038) NI: redundant lambda's arrow breaks CST calculation for extension lambdas - [`KT-37043`](https://youtrack.jetbrains.com/issue/KT-37043) NI: inference T to Any? if there was elvis between Java out-type and reified `materialize` for this type without out projection - [`KT-37066`](https://youtrack.jetbrains.com/issue/KT-37066) \[FIR] Wrong type inference for lambdas - [`KT-37070`](https://youtrack.jetbrains.com/issue/KT-37070) \[FIR] Unresolved parameters of outer lambda in scope of inner lambda - [`KT-37087`](https://youtrack.jetbrains.com/issue/KT-37087) "IllegalStateException: Can't find method 'invoke()'" for mutable property reference in default value of an inline function parameter - [`KT-37091`](https://youtrack.jetbrains.com/issue/KT-37091) \[FIR] Wrong inferred type of when-expression if when-argument is not-null-asserted and type is not specifies explicitly - [`KT-37176`](https://youtrack.jetbrains.com/issue/KT-37176) \[FIR] Incorrect resolution mode for statements of block - [`KT-37302`](https://youtrack.jetbrains.com/issue/KT-37302) Unexpected conversion:`Int` constant inferred to `Long` in when expression - [`KT-37327`](https://youtrack.jetbrains.com/issue/KT-37327) FIR: Smartcast problem - [`KT-37343`](https://youtrack.jetbrains.com/issue/KT-37343) NI: definitely not null types pre-approximation is inconsistent with OI - [`KT-37380`](https://youtrack.jetbrains.com/issue/KT-37380) NI: broken some code with def not null types due to skip needed constraints - [`KT-37419`](https://youtrack.jetbrains.com/issue/KT-37419) NI: UNRESOLVED_REFERENCE_WRONG_RECEIVER is reported in case lambda with receiver is returned from `when` expression - [`KT-37434`](https://youtrack.jetbrains.com/issue/KT-37434) Kotlin/JS, Kotlin/Native: fun interfaces: SAM conversion to Kotlin interface is not compiled with RESOLUTION_TO_CLASSIFIER - [`KT-37447`](https://youtrack.jetbrains.com/issue/KT-37447) Expression from annotation entry in value parameter inside value parameter should be marked as USED_AS_EXPRESSION - [`KT-37453`](https://youtrack.jetbrains.com/issue/KT-37453) Type arguments not checked to be empty for candidates with no declared parameters - [`KT-37488`](https://youtrack.jetbrains.com/issue/KT-37488) \[FIR] Incorrect exhaustiveness checking for branches with equals to object that implements sealed class - [`KT-37497`](https://youtrack.jetbrains.com/issue/KT-37497) NI: 'super' is not an expression, it can not be used as a receiver for extension functions - [`KT-37530`](https://youtrack.jetbrains.com/issue/KT-37530) NI: instantiation of abstract class via callable reference argument causes run time InstantiationError - [`KT-37531`](https://youtrack.jetbrains.com/issue/KT-37531) NI: callable reference argument with left hand side type parameter causes frontend exception - [`KT-37554`](https://youtrack.jetbrains.com/issue/KT-37554) NI: Nothing is inferred incorrectly with elvis return - [`KT-37579`](https://youtrack.jetbrains.com/issue/KT-37579) NI: inconsistent behaviour with OI around implicit invoke convention after safe call with additional implicit receiver - [`KT-37604`](https://youtrack.jetbrains.com/issue/KT-37604) "VerifyError: Call to wrong <init> method" in 'invoke' for adapted callable reference to constructor with coercion to Unit - [`KT-37621`](https://youtrack.jetbrains.com/issue/KT-37621) NI: type variable is inferred to Nothing if the second branch was Nothing and there was upper bound for a type parameter - [`KT-37626`](https://youtrack.jetbrains.com/issue/KT-37626) NI: builder inference with expected type breaks class references resolution for a class with parameters - [`KT-37627`](https://youtrack.jetbrains.com/issue/KT-37627) NI: wrong order of the type variable fixation (Nothing? against a call with lambda) - [`KT-37628`](https://youtrack.jetbrains.com/issue/KT-37628) NI: wrong approximation of type argument to star projection during common super type calculation - [`KT-37644`](https://youtrack.jetbrains.com/issue/KT-37644) NI: appeared exception during incorporation of a captured type into a type variable for elvis resolve - [`KT-37650`](https://youtrack.jetbrains.com/issue/KT-37650) NI: it's impossible to infer a type variable with the participation of a wrapped covariant type - [`KT-37718`](https://youtrack.jetbrains.com/issue/KT-37718) False positive unused parameter for [@&#8203;JvmStatic](https://github.com/JvmStatic) main function in object - [`KT-37779`](https://youtrack.jetbrains.com/issue/KT-37779) ClassCastException: Named argument without spread operator for vararg parameter causes code to crash on runtime - [`KT-37832`](https://youtrack.jetbrains.com/issue/KT-37832) In MPP, subtypes of types defined in legacy libraries, like stdlib, cannot properly resolve on the consumer side receviing both - [`KT-37861`](https://youtrack.jetbrains.com/issue/KT-37861) Capturing an outer class instance in a default parameter of inner class constructor causes VerifyError - [`KT-37986`](https://youtrack.jetbrains.com/issue/KT-37986) Return value of function reference returning inline class mapped to 'java.lang.Object' is not boxed properly - [`KT-37998`](https://youtrack.jetbrains.com/issue/KT-37998) '!!' operator on safe call of function returning inline class value causes CCE at runtime - [`KT-38042`](https://youtrack.jetbrains.com/issue/KT-38042) Allow kotlin.Result as a return type only if one enabled inline classes explicitly - [`KT-38134`](https://youtrack.jetbrains.com/issue/KT-38134) NI: Type mismatch with a star projection and `UnsafeVariance` - [`KT-38298`](https://youtrack.jetbrains.com/issue/KT-38298) Inconsistent choice of candidate when both expect/actual are available (affects only `enableGranularSourceSetMetadata`) - [`KT-38661`](https://youtrack.jetbrains.com/issue/KT-38661) NI: "Cannot infer type variable TypeVariable" with lambda with receiver - [`KT-38668`](https://youtrack.jetbrains.com/issue/KT-38668) Project with module dependency in KN, build fails with Kotlin 1.3.71 and associated libs but passes with 1.3.61. - [`KT-38857`](https://youtrack.jetbrains.com/issue/KT-38857) Class versions V1\_5 or less must use F_NEW frames. - [`KT-39113`](https://youtrack.jetbrains.com/issue/KT-39113) "AssertionError: Uninitialized value on stack" with EXACTLY_ONCE contract in non-inline function and lambda destructuring ##### Docs & Examples - [`KT-35231`](https://youtrack.jetbrains.com/issue/KT-35231) toMutableList documentation is vague ##### IDE ##### Performance Improvements - [`KT-30541`](https://youtrack.jetbrains.com/issue/KT-30541) EDT Freeze after new Kotlin Script creation - [`KT-35050`](https://youtrack.jetbrains.com/issue/KT-35050) Significant freezes due to findSdkAcrossDependencies() - [`KT-37301`](https://youtrack.jetbrains.com/issue/KT-37301) Freeze when "Optimize Imports" in KotlinImportOptimizer - [`KT-37466`](https://youtrack.jetbrains.com/issue/KT-37466) Invalidate partialBodyResolveCache on OCB - [`KT-37467`](https://youtrack.jetbrains.com/issue/KT-37467) PerFileAnalysisCache.fetchAnalysisResults - [`KT-37993`](https://youtrack.jetbrains.com/issue/KT-37993) Do not resolve references if paste code is located in the same origin - [`KT-38318`](https://youtrack.jetbrains.com/issue/KT-38318) Freezes in IDEA ##### Fixes - [`KT-27935`](https://youtrack.jetbrains.com/issue/KT-27935) Functional typealias with typealias in type parameters causes UnsupportedOperationException in TypeSignatureMappingKt (IDEA analysis) - [`KT-31668`](https://youtrack.jetbrains.com/issue/KT-31668) Complete statement for class declaration: add '()' to supertype - [`KT-33473`](https://youtrack.jetbrains.com/issue/KT-33473) UAST: References to local variable are resolved to UastKotlinPsiVariable - [`KT-34564`](https://youtrack.jetbrains.com/issue/KT-34564) Kotlin USimpleNameReferenceExpression for annotation parameter resolves to null for compiled Kotlin classes - [`KT-34973`](https://youtrack.jetbrains.com/issue/KT-34973) Light class incorrectly claiming ambiguous method call from Java when one overload is synthetic - [`KT-35801`](https://youtrack.jetbrains.com/issue/KT-35801) UAST: UnknownKotlinExpression for valid Kotlin annotated expression - [`KT-35804`](https://youtrack.jetbrains.com/issue/KT-35804) UAST: Annotations missing from catch clause parameters - [`KT-35848`](https://youtrack.jetbrains.com/issue/KT-35848) UAST: ClassCastException when trying to invoke UElement for some wrapped PsiElements - [`KT-36156`](https://youtrack.jetbrains.com/issue/KT-36156) Kotlin annotation attributes have blue color whereas white in Java - [`KT-36275`](https://youtrack.jetbrains.com/issue/KT-36275) UAST: UCallExpression::resolve returns null for local function calls - [`KT-36717`](https://youtrack.jetbrains.com/issue/KT-36717) Fix failing light class tests after switching plugin to language version 1.4 - [`KT-36877`](https://youtrack.jetbrains.com/issue/KT-36877) Message bundles for copy paste are missed in 201 - [`KT-36907`](https://youtrack.jetbrains.com/issue/KT-36907) IDE: `-Xuse-ir` setting on facet level does not affect highlighting - [`KT-37133`](https://youtrack.jetbrains.com/issue/KT-37133) UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression - [`KT-37312`](https://youtrack.jetbrains.com/issue/KT-37312) "Implement members" intention put function in the primary constructor if there are unused brackets in class - [`KT-37613`](https://youtrack.jetbrains.com/issue/KT-37613) Uast: no parameters in reified method - [`KT-37933`](https://youtrack.jetbrains.com/issue/KT-37933) Rare NPE in ProjectRootsUtilKt.isKotlinBinary \[easy fix] - [`KT-38081`](https://youtrack.jetbrains.com/issue/KT-38081) Configure kotlin in project produces IDE error "heavy operation and should not be call on AWT thread" - [`KT-38354`](https://youtrack.jetbrains.com/issue/KT-38354) HMPP. IDE. Dependency leakage from leaf native to shared native module - [`KT-38634`](https://youtrack.jetbrains.com/issue/KT-38634) IDE: Error on opening MPP project in 1.3.72 after opening it in 1.4-M2 ##### IDE. Code Style, Formatting - [`KT-37870`](https://youtrack.jetbrains.com/issue/KT-37870) "Remove trailing comma" action stops working after applying and cancelling it ##### IDE. Completion - [`KT-36808`](https://youtrack.jetbrains.com/issue/KT-36808) Delete Flow.collect from autocompletion list or make it least prioritized - [`KT-36860`](https://youtrack.jetbrains.com/issue/KT-36860) Provide convenient completion of extension functions from objects - [`KT-37395`](https://youtrack.jetbrains.com/issue/KT-37395) Invalid callable reference completion of member extension ##### IDE. Debugger - [`KT-34906`](https://youtrack.jetbrains.com/issue/KT-34906) Implement Coroutine Debugger - [`KT-35392`](https://youtrack.jetbrains.com/issue/KT-35392) Debugger omits meaningful part of the stacktrace even with disabled filter - [`KT-36215`](https://youtrack.jetbrains.com/issue/KT-36215) Coroutines debugger tab is empty in Android Studio - [`KT-37238`](https://youtrack.jetbrains.com/issue/KT-37238) Coroutines Debugger: dump creation fails every time - [`KT-38047`](https://youtrack.jetbrains.com/issue/KT-38047) Coroutines Debugger: Assertion failed: “Should be invoked in manager thread, use DebuggerManagerThreadImpl” on moving to source code from suspended coroutine in project without debugger jar in classpath - [`KT-38049`](https://youtrack.jetbrains.com/issue/KT-38049) Coroutines Debugger: NPE “null cannot be cast to non-null type com.sun.jdi.ObjectReference” is thrown by calling dumpCoroutines - [`KT-38487`](https://youtrack.jetbrains.com/issue/KT-38487) Any Field Watch interaction causes a MissingResourceException ##### IDE. Decompiler, Indexing, Stubs - [`KT-37896`](https://youtrack.jetbrains.com/issue/KT-37896) IAE: "Argument for [@&#8203;NotNull](https://github.com/NotNull) parameter 'file' of IndexTodoCacheManagerImpl.getTodoCount must not be null" through KotlinTodoSearcher.processQuery() ##### IDE. Gradle Integration - [`KT-33809`](https://youtrack.jetbrains.com/issue/KT-33809) With `kotlin.mpp.enableGranularSourceSetsMetadata=true`, IDE misses dependsOn-relation between kotlin and android sourceSets, leading to issues with expect/actual matching - [`KT-36354`](https://youtrack.jetbrains.com/issue/KT-36354) IDE: Gradle import from non-JVM projects: dependency to output artifact is created instead of module dependency - [`KT-38037`](https://youtrack.jetbrains.com/issue/KT-38037) UnsupportedOperationException on sync gradle Kotlin project with at least two multiplatform modules ##### IDE. Gradle. Script - [`KT-36763`](https://youtrack.jetbrains.com/issue/KT-36763) Drop modification stamp for scripts after project import - [`KT-37237`](https://youtrack.jetbrains.com/issue/KT-37237) Script configurations should be loaded during project import in case of errors - [`KT-38041`](https://youtrack.jetbrains.com/issue/KT-38041) Do not request for script configuration after VCS update ##### IDE. Inspections and Intentions ##### New Features - [`KT-3262`](https://youtrack.jetbrains.com/issue/KT-3262) Inspection "Inner class could be nested" - [`KT-15723`](https://youtrack.jetbrains.com/issue/KT-15723) Add 'Convert to value' quickfix for property containing only getter - [`KT-34026`](https://youtrack.jetbrains.com/issue/KT-34026) Add "Remove argument" quick fix for redundant argument in constructor call - [`KT-34332`](https://youtrack.jetbrains.com/issue/KT-34332) Add "Remove argument" quick fix for redundant argument in function call - [`KT-34450`](https://youtrack.jetbrains.com/issue/KT-34450) `Convert function to property` intention should be also displayed on `fun` keyword - [`KT-34593`](https://youtrack.jetbrains.com/issue/KT-34593) Invert 'if' condition: Invert `String.isNotEmpty` should be `String.isEmpty` - [`KT-34819`](https://youtrack.jetbrains.com/issue/KT-34819) Inspection: report useless elvis "?: return null" - [`KT-37849`](https://youtrack.jetbrains.com/issue/KT-37849) Support `ReplaceWith` for supertypes call ##### Performance Improvements - [`KT-37515`](https://youtrack.jetbrains.com/issue/KT-37515) Deadlock ##### Fixes - [`KT-12329`](https://youtrack.jetbrains.com/issue/KT-12329) "invert if" inserts unnecessary 'continue' for statement inside a loop with 'continue' - [`KT-17615`](https://youtrack.jetbrains.com/issue/KT-17615) "Convert parameter to receiver" changes `this` to `this@ < no name provided >` - [`KT-20868`](https://youtrack.jetbrains.com/issue/KT-20868) IntelliJ says method from anonymous inner class with inferred interface type is not used even though it is - [`KT-20907`](https://youtrack.jetbrains.com/issue/KT-20907) Secondary constructor is marked as unused by IDE when called by typealias - [`KT-22368`](https://youtrack.jetbrains.com/issue/KT-22368) "Convert to block body" intention incorrectly formats closing brace - [`KT-23510`](https://youtrack.jetbrains.com/issue/KT-23510) "Remove parameter" quick fix keeps lambda argument when it's out of parentheses - [`KT-27601`](https://youtrack.jetbrains.com/issue/KT-27601) False positive "Unused import directive" for extension function used in KDoc - [`KT-28085`](https://youtrack.jetbrains.com/issue/KT-28085) "Convert receiver to parameter" introduces incorrect this@class in lambda - [`KT-30028`](https://youtrack.jetbrains.com/issue/KT-30028) "Convert parameter to receiver" introduces wrong 'this' qualifier for extension lambda receiver - [`KT-31601`](https://youtrack.jetbrains.com/issue/KT-31601) "Remove redundant let call" changes semantics by introducing multiple safe calls - [`KT-31800`](https://youtrack.jetbrains.com/issue/KT-31800) False positive "never used" with function in private val object expression - [`KT-31912`](https://youtrack.jetbrains.com/issue/KT-31912) QF “Convert to anonymous object” do nothing on SAM-interfaces - [`KT-32561`](https://youtrack.jetbrains.com/issue/KT-32561) "Property can be declared in constructor" causes another warning - [`KT-32809`](https://youtrack.jetbrains.com/issue/KT-32809) Convert parameter to receiver inserts wrong qualifiers for this (when nothing needs to be changed) - [`KT-34371`](https://youtrack.jetbrains.com/issue/KT-34371) "Surround with lambda" quickfix is not available for suspend lambda parameters. - [`KT-34640`](https://youtrack.jetbrains.com/issue/KT-34640) Replace 'if' with 'when' leads to copy comment line above when from another if - [`KT-36225`](https://youtrack.jetbrains.com/issue/KT-36225) KNPE: CodeInliner.processTypeParameterUsages with `ReplaceWith` for inline reified generic function - [`KT-36266`](https://youtrack.jetbrains.com/issue/KT-36266) NPE when invoking Lift return out of if/when after intention becomes inapplicable but still beeing shown - [`KT-36296`](https://youtrack.jetbrains.com/issue/KT-36296) False negative "Redundant SAM-constructor" with multiple SAM arguments - [`KT-36367`](https://youtrack.jetbrains.com/issue/KT-36367) False negative "Redundant SAM-constructor" for kotlin functions - [`KT-36368`](https://youtrack.jetbrains.com/issue/KT-36368) False negative "Redundant SAM-constructor" for fun interfaces in kotlin - [`KT-36395`](https://youtrack.jetbrains.com/issue/KT-36395) False positive "Redundant SAM-constructor" with two java interfaces extending one another - [`KT-36411`](https://youtrack.jetbrains.com/issue/KT-36411) "Put parameters on separate lines" and "Put parameters on one line" actions do not respect trailing comma - [`KT-36482`](https://youtrack.jetbrains.com/issue/KT-36482) "Add JvmOverloads annotation" intention is still suggested for annotation's parameters - [`KT-36686`](https://youtrack.jetbrains.com/issue/KT-36686) Implement members quickfix puts the implementation *before* the data class if it already has a body - [`KT-36685`](https://youtrack.jetbrains.com/issue/KT-36685) "Convert to a range check" transform hex range to int if it is compared with "Less" or "Greater" - [`KT-36707`](https://youtrack.jetbrains.com/issue/KT-36707) False positive redundant companion object on calling companion object members - [`KT-36735`](https://youtrack.jetbrains.com/issue/KT-36735) Inspection 'Replace 'toString' with string template' miss curly braces and generates wrong code for constructor calls - [`KT-36834`](https://youtrack.jetbrains.com/issue/KT-36834) Convert use-site targets and usages with convert property to fun intention - [`KT-37213`](https://youtrack.jetbrains.com/issue/KT-37213) "Move </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xOS4wIiwidXBkYXRlZEluVmVyIjoiMzcuNDQwLjciLCJ0YXJnZXRCcmFuY2giOiJkZXYifQ==-->
renovate added 1 commit 2022-11-08 01:03:51 +00:00
Update kotlin_version to v1.7.20
Some checks failed
valuya/comptaplan_app/pipeline/head There was a failure building this commit
valuya/comptaplan_app/pipeline/pr-dev There was a failure building this commit
f3878be1c1
renovate changed title from Update kotlin_version to v1.7.20 to Update kotlin_version to v1.7.21 2022-11-10 01:01:33 +00:00
renovate force-pushed renovate/kotlin_version from f3878be1c1 to 62a490b7b5 2022-11-10 01:01:34 +00:00 Compare
renovate changed title from Update kotlin_version to v1.7.21 to Update kotlin_version to v1.7.22 2022-11-30 01:01:44 +00:00
renovate force-pushed renovate/kotlin_version from 62a490b7b5 to 3bee048ff8 2022-11-30 01:01:46 +00:00 Compare
renovate changed title from Update kotlin_version to v1.7.22 to Update kotlin_version to v1.8.0 2023-01-18 01:02:10 +00:00
renovate force-pushed renovate/kotlin_version from 3bee048ff8 to ed5af2873f 2023-01-18 01:02:13 +00:00 Compare
renovate force-pushed renovate/kotlin_version from ed5af2873f to 5b3d16626c 2023-02-09 01:04:00 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.0 to Update kotlin_version to v1.8.10 2023-02-09 01:12:15 +00:00
renovate force-pushed renovate/kotlin_version from 5b3d16626c to b924e4d917 2023-02-12 01:12:01 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.10 to Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.8.10 2023-03-14 01:28:27 +00:00
renovate changed title from Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.8.10 to Update kotlin_version to v1.8.10 2023-03-15 01:07:03 +00:00
renovate force-pushed renovate/kotlin_version from b924e4d917 to 6e14329fa2 2023-03-31 01:02:47 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.10 to Update kotlin_version to v1.8.20 2023-03-31 01:11:04 +00:00
renovate force-pushed renovate/kotlin_version from 6e14329fa2 to 872f0bf1d8 2023-04-27 01:03:08 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.20 to Update kotlin_version to v1.8.21 2023-04-27 01:11:29 +00:00
renovate force-pushed renovate/kotlin_version from 872f0bf1d8 to 2d69f2a409 2023-06-09 01:07:57 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.21 to Update kotlin_version to v1.8.22 2023-06-09 01:16:22 +00:00
renovate force-pushed renovate/kotlin_version from 2d69f2a409 to a99b065285 2023-07-05 01:03:10 +00:00 Compare
renovate force-pushed renovate/kotlin_version from a99b065285 to 5ae671fc66 2023-07-08 01:02:58 +00:00 Compare
renovate changed title from Update kotlin_version to v1.8.22 to Update kotlin_version to v1.9.0 2023-07-08 01:07:03 +00:00
renovate changed title from Update kotlin_version to v1.9.0 to Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.9.0 2023-07-29 01:30:08 +00:00
renovate changed title from Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.9.0 to Update kotlin_version to v1.9.0 2023-07-30 01:15:42 +00:00
renovate force-pushed renovate/kotlin_version from 5ae671fc66 to 7faf07bbb8 2023-08-25 01:06:12 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.0 to Update kotlin_version to v1.9.10 2023-08-25 01:17:58 +00:00
renovate force-pushed renovate/kotlin_version from 7faf07bbb8 to a9971c01c9 2023-08-26 01:12:58 +00:00 Compare
renovate force-pushed renovate/kotlin_version from a9971c01c9 to 850c28535e 2023-09-21 01:17:07 +00:00 Compare
renovate force-pushed renovate/kotlin_version from 850c28535e to 18f5634c47 2023-09-25 01:05:44 +00:00 Compare
renovate force-pushed renovate/kotlin_version from 18f5634c47 to e0e7000778 2023-11-01 01:05:09 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.10 to Update kotlin_version to v1.9.20 2023-11-01 01:16:52 +00:00
renovate force-pushed renovate/kotlin_version from e0e7000778 to 9484450d7c 2023-11-24 01:03:23 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.20 to Update kotlin_version to v1.9.21 2023-11-24 01:15:01 +00:00
renovate force-pushed renovate/kotlin_version from 9484450d7c to 678f033c3c 2023-12-23 01:03:23 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.21 to Update kotlin_version to v1.9.22 2023-12-23 01:06:51 +00:00
renovate force-pushed renovate/kotlin_version from 678f033c3c to 385766df0e 2024-03-09 01:09:05 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.22 to Update kotlin_version to v1.9.23 2024-03-09 01:17:41 +00:00
renovate force-pushed renovate/kotlin_version from 385766df0e to 1ceae6093b 2024-05-08 01:04:28 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.23 to Update kotlin_version to v1.9.24 2024-05-08 01:13:24 +00:00
renovate force-pushed renovate/kotlin_version from 1ceae6093b to df6c7ea693 2024-07-21 01:03:19 +00:00 Compare
renovate changed title from Update kotlin_version to v1.9.24 to Update kotlin_version to v1.9.25 2024-07-21 01:11:49 +00:00
This repo is archived. You cannot comment on pull requests.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Valuya/comptaplan_app#27
No description provided.