Skip to content

chore(deps): update kotlin monorepo to v1.8.0 - autoclosed

Jens Meinecke requested to merge renovate/kotlin-monorepo into master

This MR contains the following updates:

Package Type Update Change
org.jetbrains.kotlin.plugin.spring (source) plugin minor 1.4.32 -> 1.8.0
org.jetbrains.kotlin.jvm (source) plugin minor 1.4.32 -> 1.8.0

Release Notes

JetBrains/kotlin

v1.8.0

Analysis API
  • KT-50255 Analysis API: Implement standalone mode for the Analysis API
Analysis API. FIR
  • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light 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_SMREAD 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_MRIMITIVE(x: T?)) => x
  • KT-49875 [FIR] Support infering MRIVATE_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_EXMRESSION 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
IDE. Structural Search
  • KTIJ-21986 KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing
IDE. Tests Support
  • KT-50269 FIR IDE: Allow running tests via gutter
IDE. Wizards
  • KTIJ-23537 Wizard: projects with Android modules require higher 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_MROJECTS_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

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

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

v1.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_MROBLEM 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_EXMRESSION" 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

v1.7.10

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
Fixes
  • KTIJ-19088 KotlinUFunctionCallExpression.resolve() returns null for calls to @​JvmSynthetic functions
  • KTIJ-19624 NoDescriptorForDeclarationException on iosTest.kt.vm
  • KTIJ-21515 Load JVM target 1.6 as 1.8 in Maven projects
  • 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-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
  • 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-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
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
IDE. FIR
  • KTIJ-20971 FIR IDE: "Parameter Info" shows parameters of uncallable methods
  • KTIJ-21021 FIR IDE: Completion of extension function does not work on nullable receiver
  • KTIJ-21343 FIR IDE: Navigation from explicit invoke call does not work
  • KTIJ-21013 FIR IDE: Inconsistent smartcasts highlighting
  • KTIJ-21374 FIR IDE: Incorrect highlighting for operators
  • KTIJ-20443 FIR IDE: Work in Dumb mode
  • KTIJ-20852 FIR IDE: Exception when checking isInheritor on two classes in different modules
  • KTIJ-20637 FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt
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_EXMRESSION_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_DEMRECATION 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. Native
  • 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
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
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

v1.7.0

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_DEMRECATION] 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_EXMRESSION" 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_EXMRESSION_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_DEMRECATION 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

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_DEMRECATION] 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 DEMRECATED_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_MROTECTED_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_EXMRESSION 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_DEMRECATION_ERROR message: use current compiler version instead of language version
  • KT-49609 Incorrect grammar in DATA_CLASS_NOT_MROPERTY_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_MROPERTY_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_MRIVATE_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_SMREAD 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: MROPERTY_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: "REINTERMRET_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_MRE_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

Configuration

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

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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

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


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

This MR has been generated by Renovate Bot.

Edited by Jens Meinecke

Merge request reports