Skip to content

Releases: JetBrains/kotlin

Kotlin 1.8.22

08 Jun 10:55
Compare
Choose a tag to compare

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

23 May 09:01
Compare
Choose a tag to compare
Kotlin 1.9.0-Beta Pre-release
Pre-release

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$SymbolProviders in session dependencies (optimization)
  • KT-55527 K2 IDE: Rewrite KtScopeContext class to allow to handle each scope separately
  • KT-55329 LL FIR: Unexpected ACTUAL_WITHOUT_EXPECT error on constructor and function declaration
  • KT-50732 LL API: fix compiler based tests
  • KT-57850 K2: contract violation due to SymbolLightAccessorMethod.propertyAccessorSymbol
  • KT-56543 LL FIR: rework lazy transformers so transformers modify only declarations they suppose to
  • KT-56721 K2: FirExtensionDeclarationsSymbolProvider: java.lang.IllegalStateException: Recursive update
  • KT-50253 Analysis API: Solve issues with ProcessCancelledException
  • KT-56800 K2 IDE: optimize deprecation calculation for symbols
  • KT-55006 Analysis API does not transform Java type refs for callable symbol return types
  • KT-57256 AA FIR: Reduce lazy resolve phase for deprecation status
  • KT-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

25 Apr 07:40
Compare
Choose a tag to compare

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

03 Apr 07:46
Compare
Choose a tag to compare

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

23 Mar 12:31
Compare
Choose a tag to compare
Kotlin 1.8.20-RC2 Pre-release
Pre-release

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

08 Mar 10:44
Compare
Choose a tag to compare
Kotlin 1.8.20-RC Pre-release
Pre-release

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

08 Feb 08:25
Compare
Choose a tag to compare
Kotlin 1.8.20-Beta Pre-release
Pre-release

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

02 Feb 15:08
Compare
Choose a tag to compare

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

28 Dec 12:00
Compare
Choose a tag to compare

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

20 Dec 14:12
Compare
Choose a tag to compare
Kotlin 1.8.0-RC2 Pre-release
Pre-release

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