Skip to content

Releases: JetBrains/kotlin

Kotlin 1.7.0-RC

20 May 08:44
Compare
Choose a tag to compare
Kotlin 1.7.0-RC Pre-release
Pre-release

Changelog

Compiler

  • KT-51640 FIR: remove warning about "far from being production ready"
  • KT-52404 Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java
  • KT-51844 New errors in overload resolution involving vararg extension methods
  • KT-50877 Inconsistent flexible type
  • KT-51988 "NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using @BuilderInference with multiple type arguments
  • KT-51925 Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline function
  • KT-52035 FIR: add error in 1.7.0 branch if run on JS / Native configuration
  • KT-52037 FIR: add error in 1.7.0 branch if run with non-compatible plugins

JavaScript

  • KT-52144 KJS / IR: Missing property definitions for interfaced defined properties
  • KT-51973 KJS / IR overridden properties of inherited interface missing

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

Tools. Commonizer

  • KT-51224 MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumber
  • KT-51215 MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumber

Tools. Gradle

  • 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-52313 No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modules
  • 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-51415 Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasks

Tools. Gradle. Cocoapods

  • KT-51861 Custom binary name in CocoaPods plugin isn't respected by fatFramework task

Tools. Gradle. JS

  • KT-51895 K/JS: Redundant technical messages during JS tests

Tools. Gradle. Multiplatform

  • KT-51947 Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using Reflection

Tools. Kapt

  • KT-51463 KAPT: Incremental compilation not working when rerunning unit tests

Tools. Scripts

  • KT-49173 Add support for nullable types in provided properties and other configuration-defined declarations
  • 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

Checksums

File Sha256
kotlin-compiler-1.7.0-RC.zip d972048a5f36902a4a6fdaaa177c49369a0e7041795a5c7930d22677c274fa76
kotlin-native-linux-x86_64-1.7.0-RC.tar.gz 070810e586d7211aedcc0194b9cdd9260e07d794caec6c6d37ba6ce91706908e
kotlin-native-macos-x86_64-1.7.0-RC.tar.gz ac62923ed577c5c7f777490f486b8b03979c41cb0964b05883e878d56d0cc6c6
kotlin-native-macos-aarch64-1.7.0-RC.tar.gz caba10128994de0da58c670429960b5882d1d13756ef2e6254a6886bd5b6a0c7
kotlin-native-windows-x86_64-1.7.0-RC.zip 3d23ffe9b9d5d61e7592e003e7a16de97e4e4fcf37ffb06280db2d9f8522ef58

Kotlin 1.7.0-Beta

05 May 12:32
01a24fd
Compare
Choose a tag to compare
Kotlin 1.7.0-Beta Pre-release
Pre-release

Changelog

Analysis API. FIR

  • KT-50864 Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target
  • KT-50252 Analysis API: Implement FirModuleResolveStates for libraries
  • KT-50862 Analsysis API: do not create use site subsitution override symbols

Analysis API. FIR Low Level API

  • KT-50729 Type bound is not fully resolved
  • KT-50728 Lazy resolve of extension function from 'kotlin' package breaks over unresolved type
  • KT-50271 Analysis API: get rid of using FirRefWithValidityCheck

Backend. Native. Debug

  • KT-50558 K/N Debugger. Error is not displayed in variables view for catch block

Compiler

New Features

  • KT-45165 Remove JVM target version 1.6
  • KT-51737 Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets

Performance Improvements

  • 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-51433 FE 1.0: implement warnings about label resolve changes
  • KT-52146 JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection
  • KT-51818 "ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines
  • 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-51927 Native: The symbol of unexpected type encountered during IR deserialization error when multiple libraries have non-conflicting declarations with the same name
  • KT-50845 Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases
  • KT-48890 Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations."
  • KT-51979 "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override
  • KT-50378 Unresolved reference for method in Jsoup library in a kts script file
  • KT-34919 "Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class
  • KT-51893 Duplicated [OVERRIDE_DEPRECATION] on overridden properties
  • KT-41034 K2: Change evaluation semantics for combination of safe calls and convention operators
  • KT-51843 Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags
  • KT-51914 False positive RETURN_TYPE_MISMATCH in intellij ultimate
  • KT-51711 Compiler warning is displayed in case there is 'if' else branch used with elvis
  • KT-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-33517 Kotlin ScriptEngine does not respect async code when using bindings
  • 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-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-51499 @file:OptIn doesn't cover override methods
  • KT-46187 FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plus
  • KT-49778 Support cast to DefinitelyNotNull type in Native
  • KT-51718 JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function
  • KT-34515 NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to brackets
  • KT-48546 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy block
  • KT-28109 "AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operator
  • KT-46136 Unsubstituted return type inferred for a function returning anonymous object upcast to supertype
  • KT-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-51439 FE 1.0: implement type variance conflict deprecation on qualifier type arguments
  • 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](https://youtrack.j...
Read more

Kotlin 1.6.21

20 Apr 07:40
Compare
Choose a tag to compare

Changelog

Compiler

  • KT-51979 "AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override
  • KT-51893 Duplicated [OVERRIDE_DEPRECATION] on overridden properties
  • KT-51927 Native: The symbol of unexpected type encountered during IR deserialization error when multiple libraries have non-conflicting declarations with the same name
  • KT-51843 Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags
  • KT-51672 JVM IR: Inline class mangling issue in interface default methods split across multiple modules
  • KT-51711 Compiler warning is displayed in case there is 'if' else branch used with elvis
  • KT-49317 "IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter

IDE. Native

  • KTIJ-20819 Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"

JavaScript

  • KT-52010 K/JS IR: both flows execute when using elvis operator
  • KT-51973 KJS / IR overridden properties of inherited interface missing
  • KT-50504 KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields

Tools. Gradle

  • KT-51837 kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.

Tools. Gradle. Multiplatform

  • KT-51810 MPP / Gradle: Dependency locking fails with 1.6.20
  • KT-51765 com.android.lint in multiplatform project without android target should not trigger warning

Checksums

File Sha256
kotlin-compiler-1.6.21.zip 632166fed89f3f430482f5aa07f2e20b923b72ef688c8f5a7df3aa1502c6d8ba
kotlin-native-linux-x86_64-1.6.21.tar.gz 14e7b9bee2e9ef7bff9a69881fef44d287bbb3adaa05396e0c03e77dfc9b0d3d
kotlin-native-macos-x86_64-1.6.21.tar.gz 61dfee00b11f3c27e349854b9a9d530ed86a882e6c8a81f77f16acecf9660eeb
kotlin-native-macos-aarch64-1.6.21.tar.gz c2734c651e680b85805c17488f31125220d96eca8e3ba89b5b58f07c61ff5239
kotlin-native-windows-x86_64-1.6.21.zip db8560138580038c23e88a7ceb6eb4e8a3ec7d7fd66218e82096d52402f280a8

Kotlin 1.6.20

04 Apr 06:42
Compare
Choose a tag to compare

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.IndexOutOfBound...
Read more

Kotlin 1.6.20-RC2

23 Mar 08:15
Compare
Choose a tag to compare
Kotlin 1.6.20-RC2 Pre-release
Pre-release

Changelog

Compiler

Fixes

  • 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-50520 "NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder
  • KT-51471 Native: incorrect debug information when inheriting suspend fun invoke implementation
  • KT-51353 IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK

Native

  • KT-37368 Native compiler fails to compile big projects

Native. Runtime

Tools. JPS

  • KT-51434 Language version 1.7 is absent in Kotlin Compiler settings

Tools. Gradle

  • KT-51588 Restoring from build cache breaks Kotlin incremental compilation

Checksums

File Sha256
kotlin-compiler-1.6.20-RC2.zip 038da980d17432a44c41299b528b81040ca2578b634b0fd066661b45871711f2
kotlin-native-linux-x86_64-1.6.20-RC2.tar.gz 0b6007c30a92adc534cbcd6253ee061c098edad0f39b7dd2e4a6b26ddfa900a4
kotlin-native-macos-x86_64-1.6.20-RC2.tar.gz 5dc256210c6cc5a04d58ca0b2b607e4354fe1cec5c05ea1fc2f9e8fd44e34280
kotlin-native-macos-aarch64-1.6.20-RC2.tar.gz 8252ef6392f13a0927e9c0cd96e99eed890680c5f5342e8d7bdc0a833ea4c21b
kotlin-native-windows-x86_64-1.6.20-RC2.zip 80a2286e3e1b9e3191addb386ee98483de32422b5302a2180e52e2d1df6b365d

Kotlin 1.6.20-RC

01 Mar 11:40
Compare
Choose a tag to compare
Kotlin 1.6.20-RC Pre-release
Pre-release

Changelog

Compiler

  • 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-51062 Progressions resolve changing warning isn't reported for Java methods
  • KT-51040 Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operator
  • KT-51022 Fix error messages for resolution ambiguity with stub types

Native

  • KT-51359 Native: the compiler doesn't work on macOS 12.3 Beta

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

Tools. Android Extensions

  • KT-50784 kotlin-android-extensions produces unbound symbol under _$_findViewCache

Tools. CLI

  • KT-51309 Add JVM target bytecode version 18
  • KT-51025 JVM CLI compiler takes class file from classpath instead of input java source file

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

  • KT-51177 After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource change
  • KT-50719 Kotlin Gradle Plugin may hang on writing statistics
  • KT-48849 Cache miss due to empty directories in KotlinCompile inputs

Tools. Gradle. JS

  • KT-51060 KJS / IR: Incorrect order of libraries with IC
  • KT-50930 KJS / IR: Incremental compilation cache building not consider multiple artifacts

Tools. Gradle. Multiplatform

  • KT-50592 [Gradle][MPP] Mitigate isolated KGP classpath issues
  • KT-51176 CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp

Tools. Gradle. Native

  • KT-49330 commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension"

Tools. Kapt

  • 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-48450 Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask`
  • KT-41456 Kotlin compilation failure after successful kapt causes invalid incremental builds

Checksums

File Sha256
kotlin-compiler-1.6.20-RC.zip 2f78ced6b983db49ea1cbcbe41c18bff19ced596861f6bd8af01311d71b6d81d
kotlin-native-linux-x86_64-1.6.20-RC.tar.gz 2f3de8ad114405af02c0dea2047dadbbb592421db199107de699815b137d48d0
kotlin-native-macos-x86_64-1.6.20-RC.tar.gz f8aba4e2fc5d689ae161eda698d47fbc758df19f8047dfc00ea308783505e15e
kotlin-native-macos-aarch64-1.6.20-RC.tar.gz 11bfebb4bde4844b3fe3eff58590d8518d25a51c6bfeb058d22eb7e4d93d0075
kotlin-native-windows-x86_64-1.6.20-RC.zip 6225b14fe8e0e47a6e5880ce19d7a794cc7764e66ef6d73c3fb8170cbeac2e10

Kotlin 1.6.20-M1

08 Feb 12:37
Compare
Choose a tag to compare
Kotlin 1.6.20-M1 Pre-release
Pre-release

Changelog

Compiler

New Features

  • KT-48217 Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is used
  • 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-48544 JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference ::arrayOf
  • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
  • 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-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-45693 False negative INCOMPATIBLE_TYPES with when with generic subject
  • KT-50797 Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying type
  • KT-43493 NI: @BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'"
  • KT-48945 JVM IR: special bridge for get is not generated in a Map subclass
  • 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-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-48499 Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file.
  • 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-49998 JVM: missing default value for annotation parameter of an unsigned type
  • KT-50277 Invalid bytecode generated for inline lambda in suspend function
  • 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-50258](https://youtrack.jetbrains.c...
Read more

Kotlin 1.6.10

14 Dec 09:04
Compare
Choose a tag to compare

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

Kotlin 1.6.10-RC

07 Dec 13:13
Compare
Choose a tag to compare
Kotlin 1.6.10-RC Pre-release
Pre-release

Learn how to install Kotlin 1.6.10-RC plugin and how to configure build with 1.6.10-RC

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-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-49833 java.lang.NullPointerException caused by accidental newline in package directive
  • 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

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-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-RC.zip e0fe4778f2494b8584039a3ff4268fdc74205841aed2d4036361f63dd540c287
kotlin-native-linux-x86_64-1.6.10-RC.tar.gz 88c4e51b5ed0d68c208394fccf61e14560121ed1be944a89b9ff7d8f7d4e7218
kotlin-native-macos-x86_64-1.6.10-RC.tar.gz 66b87d7e0d72b27d1da8a078fe5a5289f75f3312d8233b2b58719d04ebeb4c35
kotlin-native-macos-aarch64-1.6.10-RC.tar.gz 28cd94bd255c0fe3b639091a3bc66753c08c5136c3ebeb0a8a9cf8711240698a
kotlin-native-windows-x86_64-1.6.10-RC.zip 45f3f430588210b6ef906c7ebfdcf82a9b8d6bb367fb53aa35dde73a51cb2e3e

Kotlin 1.5.32

29 Nov 12:32
Compare
Choose a tag to compare

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