Releases: JetBrains/kotlin
Releases · JetBrains/kotlin
Kotlin 1.9.20-Beta2
Changelog
Backend. Wasm
KT-59720
K/Wasm: update to final opcodes
Compiler
KT-62027
"java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation @AllowDifferentMembersInActual
used
KT-61668
Put expect/actual diagnostics introduced in 1.9.20 release under 1.9 Language Version
KT-61645
K2/KMP: Set stdlib-native before stdlib-commonMain in dependencies for shared native metadata compilation
KT-61924
Native: problem with abstract fake override from Any
KT-61725
KMP: Annotation matching requirement for expect/actual leads to errors for annotations with @OptionalExpectation
KT-61784
KMP: [DEFAULT_ARGUMENTS_IN_EXPECT_WITH_ACTUAL_TYPEALIAS] checker missed for companion functions
KT-61167
Runtime failure: ReferenceError: MyPromise is not defined
KT-59094
K2: Fix Scripting K2 tests
IDE. Navigation
KT-61894
Navigation from java sources leads to Kotlin decompiled code in case of suspend function
Native. C and ObjC Import
KT-56369
Hint about "-fmodules" is not shown
Tools. Compiler Plugin API
KT-61872
K2: Adding annotations to metadata from backend plugin doesn't work in the presence of comments on annotated declaration
KT-61833
K2: annotations added via addMetadataVisibleAnnotationsToElement
to declarations from common sourceset in MPP project are invisible
Tools. Gradle
KT-61401
The reported language version value for KotlinNativeLink tasks in build reports and build scans is inaccurate
KT-61950
K/Wasm: Add warning about changed sourceSets
KT-61895
KotlinTopLevelExtension.useCompilerVersion is not marked as experimental
Tools. Gradle. Multiplatform
KT-59042
"Cannot build 'KotlinProjectStructureMetadata' during project configuration phase" when configuration cache enabled
KT-61652
MPP ConcurrentModificationException on transformCommonMainDependenciesMetadata
KT-61622
Upgrading to Kotlin 1.9 prevents commonMain sourceset classes from being processed by kapt/ksp (dagger/Hilt)
Tools. Gradle. Native
KT-61700
Native: linkDebugExecutableNative has duplicated freeCompilerArgs
Tools. Wasm
KT-61971
K/Wasm: wasmWasiTest should depends on kotlinNodeJsSetup
Checksums
File |
Sha256 |
kotlin-compiler-1.9.20-Beta2.zip |
2ec2dd53daae4acc1fd04fe95d42332e21a350a6f3384c63a18b079e90ab5576 |
kotlin-native-linux-x86_64-1.9.20-Beta2.tar.gz |
f51bca5632e60910fb5fb8a3c08bf29c0e56fa413efd43944dd7b8e80f2fb8db |
kotlin-native-macos-x86_64-1.9.20-Beta2.tar.gz |
13a7ed1505e751860516b6729bba533861ad5d640bac1864702b5b098157e4b8 |
kotlin-native-macos-aarch64-1.9.20-Beta2.tar.gz |
4f7b4096bfe0245be3ed18d73fb3c8f8f9687444852e7397c0329dc9a0b516e9 |
kotlin-native-windows-x86_64-1.9.20-Beta2.zip |
d2ac8d34bd0e4ef651969e3db9c65c9f9ed7db23a3b66f4d2f8f1aefc0120cb1 |
Kotlin 1.9.20-Beta
Changelog
Analysis API
New Features
KT-58834
Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
KT-57515
LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
KT-59266
K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
KT-59454
K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59453
K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
KT-59189
Analysis API: KtFirKDocReference.resolveToSymbols is slow
KT-58125
K2: LL FIR: KtToFirMapping.getElement
is slow for KtUserType
s due to on-air resolution of types
Fixes
KT-60940
K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
KT-61026
K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
KT-61009
K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-60357
K2 IDE. Reified types parameters are not resolved in a function body
KT-60954
K2: Analysis API: Reference shortener does not work correctly with variable assignments
KT-60317
K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
KT-60728
K2: proper support for scripts in LL FIR transformers
KT-60706
K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
KT-57743
K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
KT-60552
K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
KT-60641
Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
KT-60586
K2: forbid analyze from write action
KT-60638
K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
KT-54846
Analysis API: add isExpect/isActual to KtSymbol
KT-59077
KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
KT-60448
FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS)
cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
KT-59342
K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES)
cannot be called from a transformer with a phase TYPES
KT-59687
K2: Implement proper body update for in-block modifications
KT-60488
Analysis API: forbid providing custom KtLifetimeToken for every analyze call
KT-59329
Resolve Extensions reference resolution breaks Find Usages
KT-60295
K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
KT-59758
K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
KT-60377
K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
KT-59685
K2: rewrite on-air resolution
KT-59159
K2 IDE: declaration is not found exception
KT-59297
K2: exception from body resolve leads to corrupted state and broken analysis
KT-60132
K2: properties and functions without a name should be re-analyzable as well
KT-59199
K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
KT-59667
Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
KT-59705
KotlinExceptionWithAttachments: No fir element was found for getter
KT-59697
AA standalone: JRT module paths are not properly populated in Windows
KT-59505
K2: implicit type lazy resolution doesn't work for delegated declaration from other module
KT-56426
K2 IDE: Typealised functional types cannot be rendered
KT-59598
AA: stackoverflow while simplifying a type with a recursive type parameter
KT-58497
K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
KT-59511
AA standalone mode creates Application Environment for tests
KT-58161
Analysis API: Make methods in KtCallResolverMixIn
more distinctive based on their receiver/return type
KT-59093
Do not throw exception on KtCall resolution, KtCallElement.resolveCall
should return null
on unknown cases
KT-59240
K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from superTypes
KT-59243
K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS)
cannot be called from a transformer with a phase IMPORTS from permits types
KT-58194
K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
KT-59133
K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
KT-58174
K2: LL FIR: Invalid type reference for T & Any type
KT-52615
LL FIR: build RAW FIR only by stubs
KT-55053
K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
KT-58580
K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
KT-58992
Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
KT-58727
K2: AA FIR: implicit type in delegated function treated as error
KT-58653
K2: Analysis API: add functions for KtScope members access by name
KT-57559
K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
KT-58262
Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
KT-57455
LL FIR: Combine AbstractFirDeserializedSymbolProvider
s in session dependencies (optimization)
KT-57207
LL FIR: Combine JavaSymbolProvider
s in session dependencies (optimization)
KT-58546
K2: LL FIR: support name collision in a designation path
KT-58495
K2: Lazy calculation is redundant
KT-58500
K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
KT-58493
K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
KT-58496
K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, b...
Read more
Kotlin 1.9.10
Changelog
Compiler
KT-60769
Partially revert KT-58371
KT-60659
Incorrect 'unresolved reference: addFirst' error with JDK 21
KT-60371
Native custom allocator link error
KT-60986
Native: static caches with custom runtime options are broken on Linux
KT-60770
Fix false-positive ABSTRACT_MEMBER_NOT_IMPLEMENTED on toArray with JDK 21
KT-60231
NoClassDefFoundError: $$$$$NON_LOCAL_RETURN$$$$$ after upgrade to Kotlin 1.9.0
JavaScript
KT-60785
KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
KT-60852
Kotlin JS(IR): IllegalArgumentException: Cross module dependency resolution failed when updating to Kotlin 1.9.0
KT-57509
KJS: Compiler generates native JS operator == for comparing values with Any type
Native
KT-60230
Native: "unknown options: -ios_simulator_version_min -sdk_version" with Xcode 15 beta 3
KT-60758
Native: Building for 'iOS-simulator', but linking in dylib built for 'iOS' in Xcode 15 beta 4
Native. C and ObjC Import
KT-59167
Native: cinterop is unable to build interop libraries against the Xcode 15 Beta 1
Tools. Gradle
KT-61147
Kotlin Compiler 1.9.0 bundles a stripped unshadowed version of Gson
KT-60543
NoClassDefFoundError for com/gradle/scan/plugin/BuildScanExtension
Checksums
File |
Sha256 |
kotlin-compiler-1.9.10.zip |
7d74863deecf8e0f28ea54c3735feab003d0eac67e8d3a791254b16889c20342 |
kotlin-native-linux-x86_64-1.9.10.tar.gz |
1db3679919f4449514e9d82451e7dfa73558ac9bc80b82579cd74d452c8faa5b |
kotlin-native-macos-x86_64-1.9.10.tar.gz |
f5650f2560438a692803d8fe07124529c19f1972f84fe09cfa2329b93f43828d |
kotlin-native-macos-aarch64-1.9.10.tar.gz |
d2cf5a484ac0808ab29fd3f6099df7c07330f81f3cbab949947e42e36138c3de |
kotlin-native-windows-x86_64-1.9.10.zip |
a34d56661455e94e1ba4dd09ec3c1adac6148fdedcf55eefb9a79c8ed01ff02c |
Kotlin 1.9.0
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-58249
Analysis API: Disable error logging for FE10 implementation of resolveCall when resolve is not successful
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-57619
K2: CFG for class initializer is not correctly built in reversed resolve mode
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-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-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
KT-58188
Restore binary compatibility of PlatformDiagnosticSuppressor.shouldReportUnusedParameter
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
Compiler
New Features
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-47902
Do not propagate method deprecation through overrides
KT-29378
K2: rework warnings/errors for equality/identity operators on incompatible types
KT-57477
False-positive overload resolution ambiguity in case of lambda without arguments
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-23397
Optimize out field for property delegate when it's safe (JVM)
KT-56906
FIR: Use cached instance of FirImplicitTypeRefImpl in FIR builders
KT-56276
LanguageVersion.getVersionString() allocates 5k objects on project opening
Fixes
KT-57784
"NullPointerException: Parameter specified as non-null is null:" with enum, companion object, 'entries' and map
KT-55217
K2: support callable reference conversions on top-level expressions
KT-57232
K2: build Space JVM (master)
KT-59079
"AE: SyntheticAccessorLowering should not attempt to modify other files!" with callable reference to constructor with value class parameter
KT-58837
Partial linkage fails to report any compiler message on Windows when launched through Gradle plugin
KT-57602
K2: Rework member scope of types having projection arguments for covariant parameters
KT-55171
Put new contracts syntax under a feature flag
KT-58719
K2: false-positive INVISIBLE_REFERENCE error in case of importing an internal abstract class
KT-56030
[K2/N] Support Objective-C overloading by param names only
KT-57510
K2: Data class equals/hashCode/toString methods are not written to Klib metadata
KT-56331
K2: compiler backend crash on usage of expected function with default arguments
KT-53846
K2 / Context receivers: ClassCastException on secondary constructor of class with context receiver
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-59066
[K2] delegation leads to "IllegalStateException: Expected some types"
KT-56074
K2: build Space JVM (snapshot 2022.3)
KT-58787
KAPT: "NullPointerException: null cannot be cast to non-null type" with delegate
KT-57022
K2 IllegalStateException in signature computation
KT-56792
K2: build kotlinpoet
KT-57373
K2: FIR properties synthesized when implementing interface by delegation don't have accessors
KT-56583
K1: Implement opt-in for integer cinterop conversions
KT-59030
[PL] Workaround for broken @Deprecated
annotations in c-interop KLIBs
KT-58618
K2: Local property delegates cannot infer generic return type
KT-36770
Prohibit unsafe calls with expected @NotNull
T and given Kotlin generic parameter with nullable bound
KT-56739
K2: build Space iOS
KT-57131
K2: stdlib test compilation fails on ListTest.kt in FirJvmMangleComputer
KT-58137
K2: ISE "Usage of default value argument for this annotation is not yet possible" when instan...
Read more
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 |