Releases: JetBrains/kotlin
Releases Β· JetBrains/kotlin
Kotlin 1.8.10
Changelog
Compiler
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
KT-55729
"None of the following functions can be called with the arguments supplied:" in 1.8.0
KT-55769
"ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0
KT-55308
InnerClass attributes should be sorted (innermost last)
JavaScript
KT-56282
KJS: Invalidate incremental cache in case of compiler internal errors
KT-55852
JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type
KT-55716
KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0
KT-55758
KJS / IR: Checking implemented interface on a class implementing a @JsExport interface returns the wrong result
Reflection
KT-56093
Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
Tools. Compiler plugins. Serialization
KT-56347
[Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error
KT-55681
Serialization: NullPointerException after update to 1.8.0 caused by @Serializer(forClass= ..)
KT-56244
kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
KT-55683
Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object
KT-55682
Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
Tools. Gradle
KT-55697
KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
Tools. Gradle. Multiplatform
KT-55730
MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
KT-56280
Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Kapt
KT-48013
Kapt generates illegal stubs for private interface methods
Checksums
File |
Sha256 |
kotlin-compiler-1.8.10.zip |
4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 |
kotlin-native-linux-x86_64-1.8.10.tar.gz |
4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 |
kotlin-native-macos-x86_64-1.8.10.tar.gz |
52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db |
kotlin-native-macos-aarch64-1.8.10.tar.gz |
08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 |
kotlin-native-windows-x86_64-1.8.10.zip |
e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d |
Kotlin 1.8.0
Changelog
Analysis API
KT-50255
Analysis API: Implement standalone mode for the Analysis API
Analysis API. FIR
KT-54292
Symbol Light classes: implement PsiVariable.computeConstantValue for light field
KT-54293
Analysis API: fix constructor symbol creation when its accessed via type alias
Android
KT-53342
TCS: New AndroidSourceSet layout for multiplatform
KT-53013
Increase AGP compile version in KGP to 4.1.3
KT-54013
Report error when using deprecated Kotlin Android Extensions compiler plugin
KT-53709
MPP, Android SSL2: Conflicting warnings for androidTest/kotlin
source set folder
Backend. Native. Debug
KT-53561
Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"
Compiler
New Features
KT-52817
Add @JvmSerializableLambda
annotation to keep old behavior of non-invokedynamic lambdas
KT-54460
Implementation of non-local break and continue
KT-53916
Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
KT-32208
Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
KT-53438
Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage
Performance Improvements
KT-53347
Get rid of excess allocations in parser
KT-53689
JVM: Optimize equality on class literals
KT-53119
Improve String Concatenation Lowering
Fixes
KT-53465
Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
KT-49658
NI: False negative TYPE_MISMATCH on nullable type with when
KT-48162
NON_VARARG_SPREAD isn't reported on *toTypedArray() call
KT-43493
NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
KT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override.
KT-55357
IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
KT-55068
Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
KT-51284
SAM conversion doesn't work if method has context receivers
KT-48532
Remove old JVM backend
KT-55065
Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend
KT-53270
K1: implement synthetic Enum.entries property
KT-52823
Cannot access class Thread.State after upgrading to 1.7 from 1.6.1 using -Xjdk-release=1.8
KT-55108
IR interpreter: Error occurred while optimizing an expression: VARARG
KT-53547
Missing fun IrBuilderWithScope.irFunctionReference
KT-54884
"StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
KT-47475
"IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses
KT-55013
State checker use-after-free with XCode 14.1
KT-54802
"VerifyError: Bad type on operand stack" for inline functions on arrays
KT-54707
"VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
KT-48678
Coroutine debugger: disable "was optimised out" compiler feature
KT-54745
Restore KtToken constructors without tokenId parameter to preserve back compatibility
KT-54650
Binary incompatible ABI change in Kotlin 1.7.20
KT-52786
Frontend / K2: IndexOutOfBoundsException when opting in to K2
KT-54004
Builder type inference does not work correctly with variable assignment and breaks run-time
KT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function and when
inside try-catch block
KT-53794
IAE "Unknown visibility: protected/protected and package/" on callable reference to protected member of Java superclass
KT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super
type bound
KT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
KT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argument
KT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
KT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
KT-53712
Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)
KT-54366
K2: no JVM BE specific diagnostics (in particular CONFLICTING_JVM_DECLARATIONS) in 1.8
KT-35187
NullPointerException on compiling suspend inline fun with typealias to suspend function type
KT-54275
K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"
KT-53656
"IllegalStateException: typeParameters == null for SimpleFunctionDescriptorImpl" with recursive generic type parameters
KT-46727
Report warning on contravariant usages of star projected argument from Java
KT-53197
K2: 'init' hides member of supertype 'UIComponent' and needs 'override' modifier
KT-53867
K2: @JvmRecord
does not compile to a java record
KT-53964
K2 is unable to work with Java records
KT-53349
K2: TYPE_MISMATCH caused by non-local return
KT-54100
"Type variable TypeVariable(P) should not be fixed" crash in code with errors
KT-54212
K2: cannot calculate implicit property type
KT-53699
K2: Exception during IR lowering in code with coroutines
KT-54192
Warn about unsupported feature on generic inline class parameters
KT-53723
Friend modules aren't getting passed to cache build during box tests
KT-53873
K2: Duplicated diagnostics reported from user type ref checkers
KT-50909
"VerifyError: Bad type on operand stack" caused by smartcasting for nullable inline class property in class
KT-54115
Restore Psi2IrTranslator constructor from 1.7.20
KT-53908
K2: Self-referencing generics in Java class causes New Inference Error (IE: class Foo<T extends Foo>)
KT-53193
K2: compile error on project that compiles fine with normal 1.7.10
KT-54062
K2 Invalid serialization for type-aliased suspend function type with extension receiver
KT-53953
Forbid usages of super or super if in fact it accesses an abstract member
KT-47473
NI: Missed UPPER_BOUND_VIOLATED diagnostics if use ty...
Read more
Kotlin 1.8.0-RC2
Changelog
Compiler
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-55065
Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend
Tools. Compiler plugins. Serialization
KT-55340
Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type
Tools. Gradle
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
Checksums
File |
Sha256 |
kotlin-compiler-1.8.0-RC2.zip |
149492cac31a94e8ee5173035520bb31286f6f6eb004cc0306b47127f7a72ce9 |
kotlin-native-linux-x86_64-1.8.0-RC2.tar.gz |
859031d2f8dc86398a3484a9103eea3dffbe546be658063bff69913c2d1d7233 |
kotlin-native-macos-x86_64-1.8.0-RC2.tar.gz |
cb25632ddc061c04a0a7a23a3afdf9dcc5a8c5d4a536fd8b5396be700ad87b38 |
kotlin-native-macos-aarch64-1.8.0-RC2.tar.gz |
9ba55a4e4ca3fc263d9758bd5f5ded732c0ef53fae7920a495715907c9a43c33 |
kotlin-native-windows-x86_64-1.8.0-RC2.zip |
2c6a2b11523929563845b945faa8b7c481727d0408d18e41dcd48bf6bdf7e570 |
Kotlin 1.8.0-RC
Changelog
Compiler
KT-55108
IR interpreter: Error occurred while optimizing an expression: VARARG
KT-54884
"StackOverflowError: null" caused by Enum constant name in constructor of the same Enum constant
KT-55013
State checker use-after-free with XCode 14.1
KT-54275
K2: "IllegalArgumentException: KtParameter is not a subtype of class KtAnnotationEntry for factory REPEATED_ANNOTATION"
JavaScript
KT-55097
KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception
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
Language Design
KT-48516
Forbid @Synchronized
annotation on suspend functions
Libraries
KT-54835
Document that Iterable.all(emptyCollection) returns TRUE.
KT-54168
Expand on natural order in comparator docs
Native. Platform Libraries
Tools. Compiler plugins. Serialization
KT-55296
Improve exceptions in serialization plugin
KT-55180
KJS: regression in serialization for Kotlin 1.8.0-beta
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<*>>()
Tools. Gradle
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-54993
Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+
KT-54995
[1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters with No value passed for parameter 'mustExist'
KT-45335
kotlinOptions.jvmTarget conflicts with Gradle variants
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
Tools. Gradle. JS
KT-55099
K/JS: Second declaration of JS target without compiler type report warning incorrectly
Tools. Gradle. Multiplatform
KT-54634
MPP: Test Failure causes: KotlinJvmTest$Executor$execute$1 does not define failure
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
Checksums
File |
Sha256 |
kotlin-compiler-1.8.0-RC.zip |
20437cf085cfc1e70d63ba0be9034db1c4dd9f280872b626213f974b130b8dfe |
kotlin-native-linux-x86_64-1.8.0-RC.tar.gz |
195b2ef759a28138df5e305259b77b3512ad1942c3aaed2dd2cba54235ac693f |
kotlin-native-macos-x86_64-1.8.0-RC.tar.gz |
d7b55e44f0a41f7e1b62d41fad4d130a6bbe981422776cd8b1c98d13c0e209d9 |
kotlin-native-macos-aarch64-1.8.0-RC.tar.gz |
a91fb1b057140dc5508b0a83bd551384e3d0364196f45ca5dbe4e2ff51113fc5 |
kotlin-native-windows-x86_64-1.8.0-RC.zip |
d38a39e1e53bba5bdb5f52a04e55dca360dcc527434d2c5c338c92ba1bf03b6a |
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 |
Kotlin 1.8.0-Beta
1.8.0-Beta
Android
KT-53013
Increase AGP compile version in KGP to 4.1.3
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-53916
Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
KT-54460
Implementation of non-local break and continue
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
Fixes
KT-52974
"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
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-52913
JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
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-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-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
KT-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-53947
IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
KT-53712
Add mode to prevent generating JVM 1.8+ annotation targets (TYPE_USE, TYPE_PARAMETER)
KT-48532
Remove old JVM backend
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-47475
"IncompatibleClassChangeError: disagree on InnerClasses attribute": cross-module inlined WhenMappings has mismatched InnerClasses
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-49017
Forbid usages of super or super if in fact it accesses an abstract member
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-48031
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
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-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-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-41670
JVM IR: AbstractMethodError when using inheritance for fun interfaces
KT-53178
K2: implement diagnostics for serialization plugin
KT-53465
Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
KT-52970
Default value constant in companion object works on JVM and JS, but fails on native
KT-27936
Write InnerClasses attribute for all class names used in a class file
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-53261
Evaluate effect from inline for primitive types
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-53667
Compiler crashes on attempt to alloc a string on the stack in new MM
KT-48822
CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException
KT-50281
IllegalStateException: unsupported c...
Read more
Kotlin 1.7.21
Changelog
Compiler
KT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate
KT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argument
KT-54004
Builder type inference does not work correctly with variable assignment and breaks run-time
KT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override.
KT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression
KT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function and when
inside try-catch block
KT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime
KT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface with super
type bound
KT-54707
"VerifyError: Bad type on operand stack" in inline call chain on a nullable array value
KT-54650
Binary incompatible ABI change in Kotlin 1.7.20
KT-54802
"VerifyError: Bad type on operand stack" for inline functions on arrays
Native. Runtime. Memory
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpful
Tools. Gradle. Multiplatform
KT-54387
Remove MPP alpha stability warning
KT-48436
False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
Tools. JPS
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
Checksums
File |
Sha256 |
kotlin-compiler-1.7.21.zip |
8412b31b808755f0c0d336dbb8c8443fa239bf32ddb3cdb81b305b25f0ad279e |
kotlin-native-linux-x86_64-1.7.21.tar.gz |
0f9eb04a5ee0665a195c1f1093c778f5696216660feb638b29f923f586093dd0 |
kotlin-native-macos-x86_64-1.7.21.tar.gz |
9530cadcf05cfd6111ef35725115009283b1a0292427261b78d43853c35ccd44 |
kotlin-native-macos-aarch64-1.7.21.tar.gz |
f75e1a68e193b0cd9df56f15166fb4e721641b408065531b620cf204d78922e5 |
kotlin-native-windows-x86_64-1.7.21.zip |
5e76301f6c386ea83dc668e171887244908c18da636f7237d5371b56d8fec8da |
Kotlin 1.7.20
1.7.20
Analysis API
KT-52667
FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
KT-52136
FIR: Implicit type declaration from the other module cannot be used for overloading
Analysis API. FE1.0
KT-51962
Analysis API: Finish Analysis API for FE1.0
Analysis API. FIR
KT-52779
FIR IDE: Import Optimizer cannot handle generic type qualifiers
KT-50236
Fix OOB modification trackers for non-Kotlin code
KT-51240
Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
KT-50868
Analysis API: decompiled type aliases are not resolved
Compiler
KT-53739
Builder inference, extension hides members
KT-53733
Kotlin/Native: update source documentation for the new default memory manager
KT-53667
Compiler crashes on attempt to alloc a string on the stack in new MM
KT-53480
Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
KT-52843
Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
KT-53475
Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
New Features
KT-52495
Support until operator in back-ends
KT-52420
Implement resolve of until operator
KT-52419
Implement until operator in the parser
KT-33755
Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
KT-51665
FIR: implement label resolve for "typed this" case
KT-52361
Report warning on potentially empty intersection types
Performance Improvements
KT-47816
Disable script discovery for non-script environments
KT-48635
JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
KT-23397
Optimize out field for property delegate when it's safe (JVM)
Fixes
KT-53272
Backend Internal error: Exception during IR lowering / No such value argument slot: 2
KT-53124
Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
KT-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-36770
Prohibit unsafe calls with expected @NotNull
T and given Kotlin generic parameter with nullable bound
KT-52974
"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
KT-53007
JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
KT-53019
K2: cannot cast callable reference to Function1 in runtime
KT-53031
K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
KT-29168
Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
KT-52432
Using the IDE compiled with K2 (useFir) throws VerifyError exception
KT-52327
False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
KT-49682
Support JVM IR in KAPT stub generation
KT-24643
Prohibit using a type parameter declared for an extension property inside delegate
KT-51972
FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
KT-52011
[FIR] All-open compiler plugin isn't supported
KT-51950
JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
KT-52540
Native: kotlin.NotImplementedError with Arrow library
KT-48031
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
KT-47708
RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
KT-52913
JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
KT-50771
IR partial linkage: Removed abstract callable members are not supported
KT-52994
Enable generic inline classes as experimental feature
KT-52742
CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
KT-52743
Non-null generic functions throws NPE when assigned to val
KT-52745
Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
KT-52832
Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
KT-52403
IncompatibleClassChangeError when inlining suspend funs
KT-50107
Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
KT-47965
Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
KT-25787
No error on crossinline usage of receiver parameter of functional type in an inline function
KT-52762
Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
KT-52680
K2: overload resolution ambiguity if this
is casted in a different method
KT-52676
K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
KT-50293
False positive: USELESS_CAST on stub types
KT-52175
WRONG_ANNOTATION_TARGET for annotation that used inside if
KT-52338
"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
KT-49507
JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
KT-44512
FIR DFA: incorrect smartcast after null assignment inside a lambda
KT-49200
FIR/FE 1.0: different behavior with multiple matching star imports
KT-52718
declaringClass deprecation message mentions the wrong replacement in 1.7
KT-52190
FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
KT-52197
Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
KT-52057
Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
KT-47823
JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with break
usage in the loop range
KT-51883
Kotlin 1.6.20 generates "-" in type names around ...
Read more
Kotlin 1.7.20-RC
Changelog
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-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-53475
Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"
Libraries
KT-52910
Provide visit extension functions for java.nio.file.Path
KT-52909
Implement a walk extension function for java.nio.file.Path
Native
KT-53346
MPP project with kotlinx-serialization-json:1.4.0-RC is not built
Native. C and ObjC Import
KT-53373
Native: @ExportObjCClass doesn't work with the new memory manager
Native. Runtime
KT-53534
Kotlin/Native: -Xruntime-logs=gc=info
flag doesn't work with compiler caches in 1.7.20-beta
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
Tools. Gradle. Cocoapods
KT-53337
Add warning about future changing default linking type of framework provided via cocoapods plugin
Tools. Incremental Compile
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. Kapt
KT-52761
Kotlin 1.7.0 breaks kapt processing for protobuf generated java sources
Checksums
File |
Sha256 |
kotlin-compiler-1.7.20-RC.zip |
da9a362df57da5d6bfa99cad0513489837891afb70efd365abd0a572efd26772 |
kotlin-native-linux-x86_64-1.7.20-RC.tar.gz |
1d0a2b5b6f580688a92141cd87adf102104ee7a945eab7e0b17185bd2d985485 |
kotlin-native-macos-x86_64-1.7.20-RC.tar.gz |
4c107f1256e8078b5132d22ae5421c80b52653a66ce8689e627da9a9e1eab2b7 |
kotlin-native-macos-aarch64-1.7.20-RC.tar.gz |
4d1b68fb205d2e41a9f2fc80a584b1c045805983971d3dc0d5a6522fe73cba35 |
kotlin-native-windows-x86_64-1.7.20-RC.zip |
280586dc3491616923e7dd19edce1636e77be00cde084bdea9a1d7090d30f7aa |
Kotlin 1.7.20-Beta
Changelog
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
New Features
KT-33755
Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
KT-51665
FIR: implement label resolve for "typed this" case
KT-52361
Report warning on potentially empty intersection types
Performance Improvements
KT-47816
Disable script discovery for non-script environments
KT-48635
JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
KT-23397
Optimize out field for property delegate when it's safe (JVM)
Fixes
KT-53272
Backend Internal error: Exception during IR lowering / No such value argument slot: 2
KT-53124
Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
KT-51868
JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
KT-36770
Prohibit unsafe calls with expected @NotNull
T and given Kotlin generic parameter with nullable bound
KT-52974
"IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project
KT-53007
JVM: "Bad invokespecial instruction: current class isn't assignable to reference class" when call superclass of outer class method from inner class
KT-53019
K2: cannot cast callable reference to Function1 in runtime
KT-53031
K2 compiler crashes with IllegalStateException: No type in ProtoBuf.ValueParameter
KT-29168
Prohibit upper bounds violation with generic typealias using not all type parameters as arguments for underlying type in supertypes
KT-52432
Using the IDE compiled with K2 (useFir) throws VerifyError exception
KT-52327
False negative: TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM isn't reported
KT-49682
Support JVM IR in KAPT stub generation
KT-24643
Prohibit using a type parameter declared for an extension property inside delegate
KT-51972
FIR, Gradle: "Symbol is invisible" compilation error with enabled Kotlin Lombok compiler plugin
KT-52011
[FIR] All-open compiler plugin isn't supported
KT-51950
JVM IR: "IndexOutOfBoundsException: Cannot pop operand off an empty stack" with crossinline lambdas and interface delegation
KT-52540
Native: kotlin.NotImplementedError with Arrow library
KT-48031
"IllegalStateException: Type variable TypeVariable(T) should not be fixed!"
KT-47708
RequiresOptIn check does not flag experimental method usage in SAM lambda expressions
KT-52913
JVM / IR: "IllegalArgumentException: Inline class types should have the same representation" when trying to down cast cast a value class
KT-50771
IR partial linkage: Removed abstract callable members are not supported
KT-52994
Enable generic inline classes as experimental feature
KT-52742
CYCLE_IN_ANNOTATION_PARAMETER_ERROR false positive on annotations with default values
KT-52743
Non-null generic functions throws NPE when assigned to val
KT-52745
Frontend / K2: "IncompatibleClassChangeError: class A$B overrides final method A.length()I" caused by delegation in a sealed class
KT-52832
Tree-generator's method FirExpression::isFirType returns true and false for different field names; it should always be true
KT-52403
IncompatibleClassChangeError when inlining suspend funs
KT-50107
Missed USAGE_IS_NOT_INLINABLE diagnostic: Leaking inline lambda parameter through extension receiver
KT-47965
Missed USAGE_IS_NOT_INLINABLE diagnostic on inline lambda parameter usage as receiver of .let call
KT-25787
No error on crossinline usage of receiver parameter of functional type in an inline function
KT-52762
Frontend / K2: Named arguments for Java classes lead to "Cannot find a parameter with this name"
KT-52680
K2: overload resolution ambiguity if this
is casted in a different method
KT-52676
K2: Unsupported compile-time value IrGetFieldImpl instead of IrConst in AnnotationCodegen for constant from Java
KT-50293
False positive: USELESS_CAST on stub types
KT-52175
WRONG_ANNOTATION_TARGET for annotation that used inside if
KT-52338
"IncompatibleClassChangeError: Expected non-static field" with Kotlin class with same-named companion object property as base Java class field
KT-49507
JVM: "IllegalAccessError: class X tried to access private field" with same-named Kotlin property and Java base class field
KT-44512
FIR DFA: incorrect smartcast after null assignment inside a lambda
KT-49200
FIR/FE 1.0: different behavior with multiple matching star imports
KT-52718
declaringClass deprecation message mentions the wrong replacement in 1.7
KT-52190
FIR2IR: Unexpected IrErrorTypeImpl type for put method inside buildMap
KT-52197
Incorrect inference of var type inside lambda that passed to extension function with type parameters that defined inside this lambda
KT-52057
Unsupported compile-time value STRING_CONCATENATION and GET_FIELD in annotation arguments
KT-47823
JVM IR: "IllegalArgumentException: Inline class types should have the same representation" with break
usage in the loop range
KT-51883
Kotlin 1.6.20 generates "-" in type names around lambdas and inline extension function with reified type which breaks Apache Beam
KT-52684
Syntax error regression on complicated combination of LT and GTEQ
KT-52417
Reflection: Can't reflect on type parameters captured by SAM converted lambda
KT-46797
JVM IR: suspendImpl has no generic signature, breaking reified types in anonymous object supertypes when using the type token pattern
KT-51464
FIR: Unable to infer type in coroutines flow code
KT-52163
JVM IR: Double.compareTo(Int) compiled to integer comparison
KT-41980
FIR: erroneous scope during annotation resolve
KT-47159
KtPsiUtils.areParenthesesUseless()
is returning a false positive on expressions for interface delegation
KT-51418
Substitute anonymous type's supertypes
- [
KT-35544
](https://youtrack.jetbrains...
Read more