Releases: JetBrains/kotlin
Releases Β· JetBrains/kotlin
Kotlin 1.9.0-RC
Changelog
Backend. Wasm
KT-58188
Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter
KT-58293
Wasm: ReferenceError: e is not defined in kotlin.test.jsThrow
KT-58931
Wasm tests are failing to start on Kotlin 1.9.0-Beta
Compiler
Fixes
KT-58621
K2: Private class shadows public function defined in the same package
KT-59102
K2: constant evaluator does not provide Long type on shl
KT-59079
"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter
KT-58787
KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate
KT-58837
Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin
KT-59030
[PL] Workaround for broken @Deprecated
annotations in c-interop KLIBs
KT-58618
K2: Local property delegates cannot infer generic return type
KT-58897
K2: False positive unresolved reference with same-named enum class and its entry
KT-56927
Enum with secondary constructor can't be compiled with K2 using JS/Native backend
KT-57570
Remove source code excerpts from platform type nullability assertion exceptions
KT-52774
Resolve unqualified enum constants based on expected type
IDE. Gradle Integration
KT-59034
MPP build failed with "Factory type is not known for plugin variants" in kt-231-*
JavaScript
KT-58570
KJS: ES6 classes + PL throw java.lang.NullPointerException
KT-58835
K2/JS: Fix incremental compilation klib tests
KT-58794
KJS / K2: Assertion failed with Space build
Libraries
KT-58985
Update KClass.isData KDoc
KT-58276
Deprecate redundant public declarations in kotlin.native.concurrent
Native. ObjC Export
KT-58839
K/N: Exception during HiddenFromObjC marked class extension function compiling
Tools. Compiler plugins. Serialization
KT-58918
Serialization: NPE at run time obtaining a serializer for a sealed class with a generic self-referencing property
KT-58954
Serialization: NPE at run time when accessing a delegating property of a deserialized object
KT-59113
Serialization: NPE at run time when accessing a delegating property of a deserialized object
KT-57647
Serialization: "IllegalAccessError: Update to static final field" caused by serializable value class
Tools. Gradle
KT-59256
[1.9.0-Beta] ServiceLoader does not pick up classes defined in the same project
KT-58662
Gradle 8.1 + Configuration Cache: custom values data is missing from build report
KT-59063
Explicit API mode broken in Kotlin 1.9.0-Beta
KT-59191
Actual compilation failure exception might be hidden in the case of a Kotlin daemon crash
KT-59056
FreeCompilerArgs options added using 'subprojects' extension override module-level freeCompilerArgs options
KT-55740
Gradle 8: Listener registration using Gradle.addBuildListener() has been deprecated
KT-58251
Build Statistics. Kotlin-specific tags are missing in build scans if projects use Gradle 8+
KT-58916
[1.9.0-Beta] PLUGIN_CLASSPATH_CONFIGURATION_NAME and NATIVE_COMPILER_PLUGIN_CLASSPATH_CONFIGURATION_NAME should stay public or offer an alternative API
KT-58869
K2, Gradle: Improve message "100% (2/2) tasks have compiled with Kotlin 2"
Tools. Gradle. JS
KT-59116
K/JS npm dependcies are not resolved properly on Kotlin 1.9
KT-58970
browserTest gradle task fails if karma is used and gradle configuration cache is enabled
KT-59004
Kotlin JS 1.9.0-Beta, yarn.lock is unstable in multi module project
Tools. Gradle. Multiplatform
KT-57903
Prepare for migration to the pluggable android target plugin
KT-58661
KGP: KotlinJvmTarget: Implement 'run' carrier task
KT-59055
KotlinJvmRun not respecting jvmToolchain setting
Tools. Gradle. Native
KT-57823
KotlinNativeCompileOptions.moduleName value is ignored and replaced with the default one if to set up using compilations
KT-58838
KGP/Multiplatform: 1.9.0-Beta with custom cinterops: IllegalStateException: Could not create domain object 'jni' (DefaultCInteropSettings)
Tools. Incremental Compile
KT-58986
New IC: ISE "The following LookupSymbols are not yet converted to ProgramSymbols: LookupSymbol(name=$$delegatedProperties, ...)"
Tools. Parcelize
KT-59112
K2: "IllegalStateException: Function has no body with @Parcelize
" on nested sealed class hierarchies
Checksums
File |
Sha256 |
kotlin-compiler-1.9.0-RC.zip |
d00312caa89de1dd3f62d80d5b31724efc333101616ba4a22caf4458862315e7 |
kotlin-native-linux-x86_64-1.9.0-RC.tar.gz |
2dc30ef2b73bcc561decd5efc7b78b7431cfe2fb982c471baaa6762c5022ce5a |
kotlin-native-macos-x86_64-1.9.0-RC.tar.gz |
a4b9b2dbb6793ee6857e3cbdecceb2d972aba1c1055e64bd7cce90fe0c776afc |
kotlin-native-macos-aarch64-1.9.0-RC.tar.gz |
1ca609007c2cbc587b4ce5e689064867ec18a377ce0ca24a777edf8d74cb7df9 |
kotlin-native-windows-x86_64-1.9.0-RC.zip |
b3e35851992132fea2608fa6be87f0fda4b613bca2a4417e5dc3bf1509128a2d |
Kotlin 1.8.22
Changelog
Tools. Gradle
KT-58280
org.jetbrains.kotlin.jvm Gradle plugin contributes build directories to the test compile classpath
Checksums
File |
Sha256 |
kotlin-compiler-1.8.22.zip |
91f50fe25c9edfb1e79ae1fe2ede85fa4728f7f4b0587644a4eee40252cdfaa6 |
kotlin-native-linux-x86_64-1.8.22.tar.gz |
a1fb41fc010b347d5d9a5449ebb48ad200c59ec2a9121b01db5165db6697e58b |
kotlin-native-macos-x86_64-1.8.22.tar.gz |
0d6e6b12569a4b8ff2f301f827192dd715a29962cc01eed05557aa8e6eb7c20d |
kotlin-native-macos-aarch64-1.8.22.tar.gz |
29805af3220eab3c163ac54f02a6097436d4ddfa83eca7815eb053517093e417 |
kotlin-native-windows-x86_64-1.8.22.zip |
91b04aa9f3dc3d5968c75d8e7f163e542458867915777e995162864cc805b2e5 |
Kotlin 1.9.0-Beta
Changelog
Analysis API
New Features
KT-57930
Analysis API: provide an API for extending Kotlin resolution
KT-57636
K2: Add the return type of K2 reference shortener AA ShortenCommand::invokeShortening()
e.g., ShorteningResultInfo
to allow callers to access the shortening result PSI
Fixes
KT-55626
Impossible to restore symbol by psi from script file
KT-57314
LL FIR: Combine LLFirProvider$SymbolProvider
s in session dependencies (optimization)
KT-55527
K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
KT-55329
LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration
KT-50732
LL API: fix compiler based tests
KT-57850
K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol
KT-56543
LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
KT-56721
K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update
KT-50253
Analysis API: Solve issues with ProcessCancelledException
KT-56800
K2 IDE: optimize deprecation calculation for symbols
KT-55006
Analysis API does not transform Java type refs for callable symbol return types
KT-57256
AA FIR: Reduce lazy resolve phase for deprecation status
KT-58141
K2: AA FIR: impossible to restore symbol for declaration with annotation with argument inside type
KT-57462
Symbol Light Classes: SymbolLightFieldForProperty should retrieve annotations not from KtPropertySymbol, but from the corresponding backing field
KT-58249
Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
KT-54864
Analysis API: add function to get expect KtSymbol list by actual KtSymbol
KT-56763
Analysis API: .KtSourceModuleImpl is missing in the map.
on symbol restore when symbol cannot be seen from the use-site module
KT-56617
Analysis API: optimize KtFirSymbolProviderByJavaPsi.getNamedClassSymbol
KT-54430
K2: .getAllOverriddenSymbols() returns invalid results
Backend. Native. Debug
KT-55440
Kotlin/Native debugger: inline function parameters are not visible during debugging
Backend. Wasm
KT-57136
K/Wasm: Restrict non-external types in JS interop
KT-57060
Clarify the lack of support for dynamic in Kotlin/Wasm
KT-56955
K/Wasm: Support restricted version of K/JS js(code)
KT-57276
Wasm: "Body not found for function" error when compiling konform library with Kotlin/Wasm support
KT-56976
K/Wasm bug with calling override of external function with default parameters
KT-56584
K/Wasm: Can't link symbol class
Compiler
New Features
KT-49276
Warn about potential overload resolution change if Range/Progression starts implementing Collection
KT-55333
Allow secondary constructors in value classes with bodies
KT-54944
@Volatile
support in native
KT-54746
Deprecate with ERROR JvmDefault annotation and old -Xjvm-default modes
KT-29378
K2: rework warnings/errors for equality/identity operators on incompatible types
KT-57010
Kotlin/Native: make it possible to compile bitcode in a separate compiler invocation
KT-55691
K2: Avoid inferring Nothing? in presence of other constraints (beside type parameter bounds)
KT-46288
Unexpected behavior of extension function on lambda with suspend receiver
KT-24779
Inconsistent smart cast behavior for bound data flow values
Performance Improvements
KT-56906
FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders
KT-56276
LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
KT-56609
K2: False positive NULL_FOR_NONNULL_TYPE with -Xjsr305=strict and @Nullable
annotation Java parameter
KT-56656
K1/K2: inconsistent NOTHING_TO_OVERRIDE with complex nullable annotations
KT-58332
K2: local fun with suspend type is not marked as suspend in IR
KT-57991
K2: Modifier 'suspend' is not applicable to 'anonymous function'
KT-4113
No smartcast for nullable lambda property (functional type) with implicit/operator invoke
call
KT-54294
K2: "Not all type variables found" in builder inference with type parameters inferred through a union of two branches
KT-52597
Provide Alpha Support for Multiplatform in the K2 platform
KT-58523
K2: reference is resolved to imported type-alias instead of identically named top-level property
KT-57098
Native: avoid object initialization while accessing const val
KT-57973
32-th default value in inline classes override function is not used
KT-57714
"IllegalStateException: <B::!>" using reified generics
KT-57810
toString
of object erroneously considered as constant function in string concatenation
KT-58076
K2: Incorrect inference of type of labeled receiver
KT-57929
K2: Arguments of annotations are not calculated in a lot of strange locations
KT-55388
Consider enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
KT-53041
NPE in Kotlin 1.7.0 when using RxJava Maybe.doOnEvent with anonymous parameters
KT-54829
Cleanup local types approximation logic
KT-38871
Kotlin Gradle DSL, MPP: UNUSED_VARIABLE when configuring a sourceset with delegated property
KT-58587
MUST_BE_INITIALIZED must take into account effectivelly final
KT-58524
K2: false-positive overload resolution ambiguity error on invoking a generic class's member function with id-shaped function-typed parameter on intersection-typed receiver
KT-53929
Enum.entries: consider changing scope behavior in K1
KT-58520
K2: FIR2IR: ISE during const evaluation of operator times with exposed
KT-56662
K1: false negative INVISIBLE_SETTER for a var with internal setter accessed from a derived class
KT-57770
K2: Support generation of serializer if base class for serializable class declared in different module
KT-58375
Kapt: "wrong number of type arguments. required 1" when more than 22 type arguments
KT-56077
K2: build atomicfu
KT-56074
K2: build Space JVM (snapshot 2022.3)
KT-48870
[FIR] Different behavior for explicit receiver resolution inside delegated constructors
KT-53865
Partial linkage: overriding function with parameter losing vararg: Native is successful, JS fails in runtime
KT-53568
Partial linkage: absent class as type parameter bound causes failure of compileProductionExecutableKotlinJs
- [
KT-53608
](https://youtrack.jetbrains.com/iss...
Read more
Kotlin 1.8.21
Changelog
Compiler
KT-57848
Native: compilation of dynamic/static library fails with Xcode 14.3
KT-57875
Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDA
KT-57946
KAPT: "RuntimeException: No type for expression" with delegate
JavaScript
KT-57356
KJS: StackOverflowException on @JsExport
with type parameters referring to one another
Tools. Commonizer
KT-57796
NoSuchFileException in :module-B:commonizeCInterop with Kotlin 1.8.20
Tools. Compiler plugins. Serialization
KT-58067
Serialization: NullPointerException caused by @Contextual
property with type with generic
KT-57730
Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java type
Tools. Gradle. JS
KT-57766
KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"
Tools. Kapt
KT-58027
Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"
Tools. Maven
KT-58048
Maven: "Too many source module declarations found" after upgrading to 1.8.20
KT-58101
'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20
Checksums
File |
Sha256 |
kotlin-compiler-1.8.21.zip |
6e43c5569ad067492d04d92c28cdf8095673699d81ce460bd7270443297e8fd7 |
kotlin-native-linux-x86_64-1.8.21.tar.gz |
0fc854641dd6d88dce3cc044bb5bc99b9035480474e23541eff03771690c68cf |
kotlin-native-macos-x86_64-1.8.21.tar.gz |
e73bfdac0461ee0c84f25e61063c243bf8d4eb8e0ff5da250456d6a23c677fd6 |
kotlin-native-macos-aarch64-1.8.21.tar.gz |
0a97957921ed55458f3e6cc9117643914ccf3663d8ad7eb161a4a03035a7521b |
kotlin-native-windows-x86_64-1.8.21.zip |
f23d3288a47ee580f82f862d55452a75074fce3d26fe7e7f55e27b6015226d8d |
Kotlin 1.8.20
Changelog
Analysis API
KT-55510
K2: Lost designation for local classes
KT-55191
AA: add an API to compare symbol pointers
KT-55487
K2: symbol pointer restoring doesn't work for static members
KT-55336
K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
KT-55098
AA: KtDeclarationRenderer should render a context receivers
KT-51181
LL API: errors for SAM with suspend function from another module
KT-50250
Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
KT-54360
KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FE1.0
KT-55825
AA FE1.0: stackoverflow when resolution to a function with a recursive type parameter
Analysis API. FIR
KT-54311
K2: proper implementation of KtSymbolPointer
KT-50238
Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
KT-52160
FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped
KT-55566
LL FIR: Tests in compiler/testData/diagnostics/tests/testsWithJava17
fail under LL FIR
KT-55339
LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type alias
KT-55327
LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function test
KT-54826
KtSymbolPointer: migrate from IdSignature to our own solution
Android
KT-54464
MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
KT-38924
Wasm support in nodejs
KT-56160
Getting WebAssembly.CompileError in browsers not supported GC and other required proposals
KT-46773
Implement an experimental version of the Kotlin/Wasm compiler backend
KT-56584
K/Wasm: Can't link symbol class
KT-56166
Fix compatibility with Firefox Nightly
KT-55589
Basic support of WASI
KT-53790
Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
KT-54535
Implement custom equals and hashCode for value classes in Kotlin/JVM
KT-55949
Release experimental @Volatile
support in native
KT-44698
Frontend (K2): print file name/line on compiler crash/exception
KT-54666
K2: Allow to skip specifying type arguments for members from raw type scope
KT-54524
Implement Java synthetic property references in compiler
KT-54024
K2: support -Xlink-via-signatures mode
Performance Improvements
KT-33722
JVM: Result API causes unnecessary boxing
KT-53330
Optimize for-loops and contains over open-ended ranges with until operator (..<
) for all backends
KT-54415
JVM BE: performance loss related to multi-field inline class lowering
KT-48759
Infix compareTo boxes inline classes
KT-55033
Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function
KT-54501
Improve code generation for inline classes with custom equals
Fixes
KT-56965
K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]
KT-56611
Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle
KT-55251
Enum.entries compilation error should be more specific
KT-56527
K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder
KT-56526
InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20
KT-57388
Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property
KT-53153
Synthetic Enum.entries can be shadowed by user-defined declarations
KT-51290
"AssertionError: Parameter indices mismatch at context" with context receivers
KT-57242
Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC
KT-57261
"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance
KT-57107
Handling of Windows line endings CRLF broken in latest snapshot with K2
KT-57117
K2: Compiler reports invalid columns in diagnostics in case of crlf line endings
KT-56500
The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA
KT-56258
VerifyError: Bad local variable type when using -Xdebug
KT-54455
Unexpected result of equality comparison of inline class objects
KT-56251
Generic Java synthetic property references don't work in K2
KT-55886
K2: Wrong code location mapping with Windows line endings
KT-43296
FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic
KT-57053
Problem around anonymous objects in inline functions
KT-54950
NoSuchMethodError on calling 'addAll' on inline class implementing mutable list
KT-56815
compileKotlin task is stuck with while(true) and suspend function
KT-56847
Unresolved reference to Java annotation in Kotlin class with the same name packages
KT-52459
Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses
KT-56215
JVM: Object extension function nullable receiverο»Ώ null check false negative when object is null
KT-56188
K/N: AssertionError when casting SAM wrapper with generic type parameter
KT-56033
Restore 'isMostPreciseContravariantArgument' function signature for compatibility
KT-56407
Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlin
KT-55887
K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa
KT-56701
K2 (with LightTree) reports syntax errors without additional information
KT-56649
K2 uses 0-index for line numbers rather than 1-index
KT-54807
K2. Support @OnlyInputTypes
diagnostic checks (contains
like calls)
KT-51247
"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional types
KT-55436
K1: implement warning about shadowing of the derived property by the base class field
KT-56521
Static scope...
Read more
Kotlin 1.8.20-RC2
Changelog
Compiler
KT-57388
Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated property
KT-57242
Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RC
KT-57261
"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instance
KT-56527
K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinder
KT-57107
Handling of Windows line endings CRLF broken in latest snapshot with K2
Tools. Gradle
KT-57296
Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied
Tools. Gradle. JS
KT-57285
KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourceset
Tools. Gradle. Multiplatform
KT-57460
Kotlin Gradle Plugin: Null this
pointer in transformCommonMainDependenciesMetadata
KT-57306
[Kotlin 1.8.20-RC] GradleException: Could not load the value of field apiConfiguration
of org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer
Checksums
File |
Sha256 |
kotlin-compiler-1.8.20-RC2.zip |
0db23d86962bece7577c19b76ec6b27611e5c4b7c70e93d71451d289e6a7741b |
kotlin-native-linux-x86_64-1.8.20-RC2.tar.gz |
e38429bd0f778689c3953d4c3d5aa67c30fc9c39c0fa4d75463fa645356aa97b |
kotlin-native-macos-x86_64-1.8.20-RC2.tar.gz |
0939c73f2d30b0eaed826d2dd3eb6ce0a4720ccaa48a8fed2b9439b3168273ef |
kotlin-native-macos-aarch64-1.8.20-RC2.tar.gz |
536fb2d6f26d4f9ed351a07c8673fe3c8d669cedc983b6151ef1d36f8bd564b4 |
kotlin-native-windows-x86_64-1.8.20-RC2.zip |
2fd80c2f59125469d17d35a79c7711302875f8dd4a0403d6e0885e678a099ece |
Kotlin 1.8.20-RC
Changelog
Backend. Wasm
KT-56584
K/Wasm: Can't link symbol class
Compiler
Fixes
KT-57053
Problem around anonymous objects in inline functions
KT-56965
K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]
KT-56815
compileKotlin task is stuck with while(true) and suspend function
KT-56258
VerifyError: Bad local variable type when using -Xdebug
KT-56847
Unresolved reference to Java annotation in Kotlin class with the same name packages
KT-56526
InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20
KT-56500
The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDA
KT-56611
Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradle
KT-56215
JVM: Object extension function nullable receiver null check false negative when object is null
KT-56033
Restore 'isMostPreciseContravariantArgument' function signature for compatibility
KT-56407
Backend Internal error: Exception during IR lowering during :daemon-common-new:compileKotlin
KT-56701
K2 (with LightTree) reports syntax errors without additional information
KT-56649
K2 uses 0-index for line numbers rather than 1-index
KT-56521
Static scope initializers sometimes not called when first accessed from interop
KT-49182
Strange cast from Unit to String
KT-55125
Difference in generated bytecode for open suspend functions of generic classes
IDE. Gradle. Script
KT-56941
Gradle KTS / Navigation: Go to declaration for Java types doesn't work
JavaScript
KT-56602
KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-Beta
KT-56580
KJS: languageVersionSettings string is unstable
KT-56581
KJS: Lock file for incremental cache
KT-56582
KJS: Function type interface reflection crashes the compiler in incremental build
KT-56469
KJS: BE Incremental rebuild spoils source map comment
Libraries
KT-55935
[Kotlin/JVM] Path.copyToRecursively does not work across file systems
Native
KT-56443
Native link task reports w: Cached libraries will not be used for optimized compilation
Tools. CLI
KT-56789
Metaspace memory leak in CoreJrtFileSystem
KT-56992
Performance test regression in Gradle when switching to Kotlin 1.8.20
KT-56925
Remove warning about assignment plugin
KT-57077
1.8.20-RC-243
shows Java 19 warnings even if configured with Java 17 toolchain
Tools. Compiler Plugins
KT-56487
Add more methods to DescriptorSerializerPlugin
Tools. Compiler plugins. Serialization
KT-56738
Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enum
KT-56990
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using @Serializer
and List argument
Tools. Gradle
KT-56221
Gradle KTS: False positive Val cannot be reassigned
when using an extension and its property with an implicit set
operator
KT-55452
Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task
KT-56645
Gradle: KGP reports an incorrect resources processing task name for JVM projects
KT-55565
Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask
KT-56414
Dependency locking and failed builds with Kotlin 1.8.10
Tools. Gradle. JS
KT-57068
KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta
KT-56999
K/JS: KotlinJsIrLink::rootCacheDirectory property must be public
KT-56765
K/JS: Several binaries use same cache directory
KT-56488
Debugger won't stop on breakpoints of JS browser test
KT-56719
KJS / Gradle: Compile sync task has to sync only changed files
Tools. Gradle. Multiplatform
KT-56729
commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3
KT-56510
Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution
Tools. Kapt
KT-56635
KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-Beta
KT-56360
Kapt with JVM IR changes fields order
Checksums
File |
Sha256 |
kotlin-compiler-1.8.20-RC.zip |
cd90d3fef3608f8866520c84f4fe729e6733b13cfa18bf93ebb52a2cf3f37b7b |
kotlin-native-linux-x86_64-1.8.20-RC.tar.gz |
35296775617118bc2e703f3e226bbb827885765be7001a9ebcd5cb68783ce323 |
kotlin-native-macos-x86_64-1.8.20-RC.tar.gz |
f76faf8063d9d170db2dc5bb1b5d442787b0cf69983aa0605c1da22f31ef33b7 |
kotlin-native-macos-aarch64-1.8.20-RC.tar.gz |
45694d385d09eb0eb075fa08b1bbf5000289120e6de677b71504481010a170a7 |
kotlin-native-windows-x86_64-1.8.20-RC.zip |
9a0ce3887a4fc188b209a3ceff2b9235b2bd5ac965b1259b62ac91b9ea914b0f |
Kotlin 1.8.20-Beta
Changelog
Analysis API
KT-55510
K2: Lost designation for local classes
KT-55191
AA: add an API to compare symbol pointers
KT-55487
K2: symbol pointer restoring doesn't work for static members
KT-55336
K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS project
KT-55098
AA: KtDeclarationRenderer should render a context receivers
KT-51181
LL API: errors for SAM with suspend function from another module
KT-50250
Analysis API: Implement Analysis API of KtExpression.isUsedAsExpression
KT-54360
KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FIR
KT-54311
K2: proper implementation of KtSymbolPointer
KT-50238
Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
KT-52160
FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrapped
KT-54826
KtSymbolPointer: migrate from IdSignature to our own solution
Android
KT-54464
MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
KT-56160
Getting WebAssembly.CompileError in browsers not supported GC and other required proposals
KT-56166
Fix compatibility with Firefox Nightly
KT-55589
Basic support of WASI
KT-46773
Implement an experimental version of the Kotlin/Wasm compiler backend
KT-53790
Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
KT-55949
Release experimental @Volatile
support in native
KT-44698
Frontend (K2): print file name/line on compiler crash/exception
KT-54666
K2: Allow to skip specifying type arguments for members from raw type scope
KT-54535
Implement custom equals and hashCode for value classes in Kotlin/JVM
KT-54524
Implement Java synthetic property references in compiler
KT-54024
K2: support -Xlink-via-signatures mode
Performance Improvements
KT-53330
Optimize for-loops and contains over open-ended ranges with until operator (..<
) for all backends
KT-48759
Infix compareTo boxes inline classes
KT-55033
Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline function
KT-33722
JVM: Result API causes unnecessary boxing
Fixes
KT-53153
Synthetic Enum.entries can be shadowed by user-defined declarations
KT-54140
SOE at IrBasedDescriptorsKt.makeKotlinType
with mixing recursive definitely not nullable type with nullability
KT-56224
Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodies
KT-54662
K2: Assign operator ambiguity on synthetic property from java
KT-54507
K2: Wrong implicitModality
for interface in FirHelpers
KT-55912
"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused by kotlin
fqn in annotation
KT-55251
Enum.entries compilation error should be more specific
KT-43296
FIR: Complicated interaction between smart cast and inference leads to false-positive diagnostic
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
KT-56188
K/N: AssertionError when casting SAM wrapper with generic type parameter
KT-54209
K2: false positive deprecation on a class literal with deprecated companion
KT-55408
K2: can't access indirectly inherited from a package-private class Java members through a type alias
KT-55116
K2: store static qualifiers in dispatch receiver field
KT-55436
K1: implement warning about shadowing of the derived property by the base class field
KT-55368
K2/MPP: Metadata compiler
KT-53846
K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver
KT-54305
K1: implement warning "synthetic setter projected out"
KT-52027
"NullPointerException" when using context receivers with inline fun
KT-55984
Stack allocated array is not cleaned between loop iterations
KT-52593
Provide Alpha support for JS in the K2 platform
KT-54656
NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameter
KT-55606
K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another class
KT-53884
K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this class
KT-54502
Synthetic extensions on raw types work differently from regular getter calls
KT-49351
FIR: Raw type scopes are unsupported
KT-49345
FIR: Properly support raw types in type parameter upper bounds
KT-55887
K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpa
KT-55733
K2. Reference resolve works incorrectly for classes declared through typealias
KT-46369
FIR: Investigate raw types for arrays
KT-41794
[FIR] Implement raw type based scope
KT-55181
K2. No compilation error on throwing not throwable
KT-55398
Kotlin inline nested inline lambda's inline variable will inline not correctly
KT-55359
K2. No error when secondary constructor does not delegate to primary one
KT-55759
K2: Unresolved reference of serializer
if library linking is used (with kotlinx.serialization plugin)
KT-54705
Kotlin scripting doesn't support files with UTF-8 BOM
KT-51753
FIR: various errors due to expect/actual mapping absence in translator
KT-44515
FIR DFA: extract non-null info from anonymous object's initialization
KT-55018
K2 / serialization: FIR2IR fails on local companion
KT-55284
Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)
KT-55693
K2. Type inference changed in k2
KT-54332
Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404
KT-55597
K2. This type has a constructor, and thus must be initialized here
error is missed for anonymous object inherits class with no-arg constructor
KT-52459
Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclasses
KT-54357
"ClassCastException: class...
Read more
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