Changelog
Analysis API
KT-55510
K2: Lost designation for local classesKT-55191
AA: add an API to compare symbol pointersKT-55487
K2: symbol pointer restoring doesn't work for static membersKT-55336
K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS projectKT-55098
AA: KtDeclarationRenderer should render a context receiversKT-51181
LL API: errors for SAM with suspend function from another moduleKT-50250
Analysis API: Implement Analysis API of KtExpression.isUsedAsExpressionKT-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 KtSymbolPointerKT-50238
Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
KT-52160
FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrappedKT-55566
LL FIR: Tests incompiler/testData/diagnostics/tests/testsWithJava17
fail under LL FIRKT-55339
LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type aliasKT-55327
LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function testKT-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 nodejsKT-56160
Getting WebAssembly.CompileError in browsers not supported GC and other required proposalsKT-46773
Implement an experimental version of the Kotlin/Wasm compiler backendKT-56584
K/Wasm: Can't link symbol classKT-56166
Fix compatibility with Firefox NightlyKT-55589
Basic support of WASIKT-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/JVMKT-55949
Release experimental@Volatile
support in nativeKT-44698
Frontend (K2): print file name/line on compiler crash/exceptionKT-54666
K2: Allow to skip specifying type arguments for members from raw type scopeKT-54524
Implement Java synthetic property references in compilerKT-54024
K2: support -Xlink-via-signatures mode
Performance Improvements
KT-33722
JVM: Result API causes unnecessary boxingKT-53330
Optimize for-loops and contains over open-ended ranges with until operator (..<
) for all backendsKT-54415
JVM BE: performance loss related to multi-field inline class loweringKT-48759
Infix compareTo boxes inline classesKT-55033
Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline functionKT-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 ~/.gradleKT-55251
Enum.entries compilation error should be more specificKT-56527
K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinderKT-56526
InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20KT-57388
Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated propertyKT-53153
Synthetic Enum.entries can be shadowed by user-defined declarationsKT-51290
"AssertionError: Parameter indices mismatch at context" with context receiversKT-57242
Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RCKT-57261
"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instanceKT-57107
Handling of Windows line endings CRLF broken in latest snapshot with K2KT-57117
K2: Compiler reports invalid columns in diagnostics in case of crlf line endingsKT-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_LAMBDAKT-56258
VerifyError: Bad local variable type when using -XdebugKT-54455
Unexpected result of equality comparison of inline class objectsKT-56251
Generic Java synthetic property references don't work in K2KT-55886
K2: Wrong code location mapping with Windows line endingsKT-43296
FIR: Complicated interaction between smart cast and inference leads to false-positive diagnosticKT-57053
Problem around anonymous objects in inline functionsKT-54950
NoSuchMethodError on calling 'addAll' on inline class implementing mutable listKT-56815
compileKotlin task is stuck with while(true) and suspend functionKT-56847
Unresolved reference to Java annotation in Kotlin class with the same name packagesKT-52459
Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclassesKT-56215
JVM: Object extension function nullable receiver null check false negative when object is nullKT-56188
K/N: AssertionError when casting SAM wrapper with generic type parameterKT-56033
Restore 'isMostPreciseContravariantArgument' function signature for compatibilityKT-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.jpaKT-56701
K2 (with LightTree) reports syntax errors without additional informationKT-56649
K2 uses 0-index for line numbers rather than 1-indexKT-54807
K2. Support@OnlyInputTypes
diagnostic checks (contains
like calls)KT-51247
"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional typesKT-55436
K1: implement warning about shadowing of the derived property by the base class fieldKT-56521
Static scope initializers sometimes not called when first accessed from interopKT-49182
Strange cast from Unit to StringKT-55288
False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifierKT-33132
Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclassKT-56061
K1 does not report error on inconsistent synthetic property assignmentKT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactoryKT-55125
Difference in generated bytecode for open suspend functions of generic classesKT-54140
SOE atIrBasedDescriptorsKt.makeKotlinType
with mixing recursive definitely not nullable type with nullabilityKT-56224
Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodiesKT-54662
K2: Assign operator ambiguity on synthetic property from javaKT-54507
K2: WrongimplicitModality
for interface inFirHelpers
KT-55912
"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused bykotlin
fqn in annotationKT-56018
[K2/N] Fir2Ir does not take value parameters annotations from FIR to IRKT-56091
[K2/N] Fix various property annotationsKT-54209
K2: false positive deprecation on a class literal with deprecated companionKT-55977
[K2/N] Suspend function reference type is wrongly serialized to klibKT-55493
K2: False-negative VAL_REASSIGNMENTKT-55372
K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent classKT-55371
K2: compiled code fails trying to call static method of package-private Java grandparent classKT-55408
K2: can't access indirectly inherited from a package-private class Java members through a type aliasKT-55116
K2: store static qualifiers in dispatch receiver fieldKT-55996
K2: cannot switch the light tree mode off with -Xuse-fir-lt=falseKT-55368
K2/MPP: Metadata compilerKT-54305
K1: implement warning "synthetic setter projected out"KT-52027
"NullPointerException" when using context receivers with inline funKT-55984
Stack allocated array is not cleaned between loop iterationsKT-52593
Provide Alpha support for JS in the K2 platformKT-54656
NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameterKT-56015
Remove unnecessary stack traces for special checks for ObjC interopKT-55606
K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another classKT-53884
K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this classKT-54502
Synthetic extensions on raw types work differently from regular getter callsKT-49351
FIR: Raw type scopes are unsupportedKT-49345
FIR: Properly support raw types in type parameter upper boundsKT-55733
K2. Reference resolve works incorrectly for classes declared through typealiasKT-46369
FIR: Investigate raw types for arraysKT-41794
[FIR] Implement raw type based scopeKT-55181
K2. No compilation error on throwing not throwableKT-55398
Kotlin inline nested inline lambda's inline variable will inline not correctlyKT-55359
K2. No error when secondary constructor does not delegate to primary oneKT-55759
K2: Unresolved reference ofserializer
if library linking is used (with kotlinx.serialization plugin)KT-54705
Kotlin scripting doesn't support files with UTF-8 BOMKT-51753
FIR: various errors due to expect/actual mapping absence in translatorKT-44515
FIR DFA: extract non-null info from anonymous object's initializationKT-55018
K2 / serialization: FIR2IR fails on local companionKT-55284
Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)KT-55693
K2. Type inference changed in k2KT-54742
K2: lambda with conditional barereturn
inferred to return Any, not UnitKT-54332
Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404KT-55509
Invisible fake overrides are listed among lazy IR class membersKT-55597
K2.This type has a constructor, and thus must be initialized here
error is missed for anonymous object inherits class with no-arg constructorKT-54357
"ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiverKT-51397
"VerifyError: Bad type on operand stack" with context receiversKT-54905
KLIB check on compiled with pre-release versionKT-55615
K2 often does not expand type aliases in annotation positionKT-54522
K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList typeKT-54300
K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous objectKT-55495
K2: support lateinit intrinsic applicability checkerKT-55494
MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already existsKT-54980
K2: Explicit type arguments in calls with the wrong number of type arguments are not resolvedKT-54730
K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parametersKT-55611
IC / MPP: Optional internal annotations are not visible on incremental buildsKT-55324
K2: ControlFlowGraphBuilder fails with index out of bounds exceptionKT-55656
K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtimeKT-51277
"NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projectionKT-52791
Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file"KT-55071
Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functionsKT-52193
Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source setKT-54573
K2: untouched implicit types in delegated constructor call of data class with@JvmRecord
KT-55037
Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3KT-48989
JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the firstKT-55231
K2: Contract declarations are not passed to checkersKT-54411
False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines codeKT-55005
Inconsistent behavior of array set operation in Kotlin 1.7.21KT-44625
Property backing/delegate field annotations are not serialized/deserialized for non-JVM targetsKT-42490
Receiver annotations are not serialized/deserialized for non-JVM targetsKT-53441
K2: cannot access static method of package-private Java grandparent classKT-54197
[K2] Exception from inliner for inline function with context receiverKT-55246
Disable 'CustomEqualsInValueClasses' feature in 1.9 language versionKT-55247
Disable 'InlineLateinit' feature in 1.9 language versionKT-53957
K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receiversKT-55421
K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbolKT-52815
Compiler option -Xjdk-release fails to compile mixed projectsKT-52236
Different modality in psi and firKT-54921
K2: cannot access static field of package-private Java parent classKT-53698
K2: FIR2IR fails on call of inivisble extension function with SuppressKT-53920
K2: "NoSuchElementException: Keyorg.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab
is missing in the map" with unreachable code and anonymous objectKT-55358
INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functionsKT-51475
"ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contractKT-51951
"IllegalStateException: No receiver" caused by implicit invoke on typealias context receiverKT-52373
Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is includedKT-54220
K2: compiler fails on compiling plus expression on unsigned intKT-54692
K2: compiler fails on compiling unsigned shiftsKT-54824
K2: missing smartcast after two levels of aliasing and a reassignmentKT-53368
Out of bounds read in sse version of String::hashCodeKT-54978
K2: Property accesses with explicit type arguments pass frontend checkersKT-51863
ClassCastException when using context receivers with named argument.KT-55123
JvmSerializableLambda is not applicable in common code in multiplatform projectsKT-45970
Missing deprecation warnings for constant operators calls in property initializersKT-54851
K2: analysis of as/is contains multiple errors that result in missing diagnosticsKT-54668
K2: Inference error in body of lazy property with elvis with Nothing in RHSKT-55269
FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClassKT-55026
K2: Function hides internal constructor from another moduleKT-53070
Update intellij testdata fixes for FIR and merge it to masterKT-53492
No parameter null check generated for constructor taking an inline class typeKT-50489
Smart cast may lead to failing inferenceKT-55160
Kotlin's fragment element types must not extendIStubFileElementType
KT-55143
K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classesKT-47933
Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.RepeatableKT-55035
FIR: do not use FirValueParameter for FirFunctionalTypeRefKT-55095
Wrong containingDeclarationSymbol in type parameter from EnhancementKT-53946
K2: don't resolve Enum.declaringClass and Enum.getDeclaringClassKT-54673
K2. "Superclass is not accessible" from interface error for sealed interfacesKT-55074
OptIn false negative: constructor call with default argument valueKT-54260
K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen pluginKT-55034
FIR: provide information about containing function/constructor to FirValueParameterKT-54744
K2: reassigning a var erases smartcast info of a variable derived from the old valueKT-53988
K2: False negative "The expression cannot be a selector (occur after a dot)"KT-53983
K2 crashes with NPE when 'this' is used inside enum class constructorKT-54910
Can not declare typed equals operator in inline class with "Nothing" return typeKT-54909
Usage of custom typed equals operator in generic inline class is type-unsafeKT-53371
Properly resolve FIR to get fully resolved annotationsKT-53519
FIR: argument mapping for annotations on value parameter is not properly builtKT-54827
MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation ofandroidMain
targetKT-54417
K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver typeKT-54972
K2: Local functions with multiple type arguments are brokenKT-54762
Private constructor is accessible from a public inline function via@PublishedAPI
annotationKT-54832
Deprecate incorrect callable references resolution behavior for KT-54316KT-54732
DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64KT-54897
K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another moduleKT-54784
NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scriptsKT-54840
Field for const property on interface companion object loses deprecated status when copied to interfaceKT-53825
class files are generated when compilation fails with platform declaration clashKT-54526
K2: Raw type scope is lost after exiting from elvisKT-54570
K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw typesKT-52157
Annotation on type parameter isn't present in the symbol loaded from the libraryKT-54318
VerifyError on{ null }
in catch blockKT-54654
K2: Implicit types leaks into delegated memberKT-54645
K2: Clash of two inherited classes with the same nameKT-53255
[FIR2IR] StackOverflowError with long when-expression conditionsKT-48861
No warning on incorrect usage of array type annotated as Nullable in JavaKT-54539
@Deprecated
on members of private companion object is no longer neededKT-54403
Unexpected behaviour on overridden typed equals in inline classKT-54536
Unexpected result of comparison of inline class instancesKT-54603
ClassCastException on comparison of inline classes with custom equalsKT-54401
Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'KT-54378
K2: smart cast breaks subtyping in case with complex projectionsKT-53761
Reified type not propagated to supertype token through two inline functionsKT-53876
Manually instantiated annotations with unsigned arrays are not equalKT-51740
NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting rangeKT-54084
ClassCastException when trying to call a context receiver's methodKT-51282
IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using@JvmMultifileClasses
KT-53479
False positive "Cannot access 'runCatching' before superclass constructor has been called"KT-50950
JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM functionKT-49364
"VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to IntKT-51478
Inapplicable receiver diagnostic expected when there are two context receiver candidates
Docs & Examples
KT-32469
@Synchronized
on extension method doesn't generate instance lock
IDE
New Features
KTIJ-24378
Update Kotlin plugin to 1.8.0 in IDEA 223.2
Performance Improvements
KT-55445
KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
KTIJ-24657
Disable pre-release and other metadata checks in IDEKT-55929
Unresolved dependencies for intermediate multiplatform SourceSetsKTIJ-24179
Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2KTIJ-23547
K2 IDE: Functional type: explicit parameter name VS ParameterName annotationKTIJ-23347
K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in testsKT-55862
Can't resolve kotlin-stdlib-js sources in IDEKTIJ-23587
K2: SOE in delegate field resolutionKT-55782
[SLC] Typealiases are not exapnded in arguments of annotationsKT-55778
[SLC] Incorrect determination of useSitePostion for types of local declarationsKT-55780
[SLC] No approximation of anonymous and local types in membersKT-55743
K2 SLC: SymbolLightClassForClassOrObject must have a nameKT-55604
Descriptor leakKT-55502
SLC: drop redundant 'final' modifier from synthetic static enum membersKT-55497
LC: drop@NotNull
annotation from parameter from synthetic Enum.valueOfKT-55496
SLC: generated synthetic enum methods by symbols instead of manual creationKT-55481
SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)KT-55470
SLC: implement light class for RepeatableContainerKT-55442
SLC: 'isInheritor' for 'DefaultImpls' should work correctlyKTIJ-23449
K2: "parent must not be null" from SymbolLightClassBase.getContext()KT-40609
IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with ThrowsKT-54051
Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
KTIJ-22503
Support code completion for data objectsKTIJ-22361
ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2
IDE. Debugger
KTIJ-24259
Debugger is stuck in an infinite loop in an Android projectKTIJ-24003
Smart step into doesn't work for Java synthetic properties referencesKTIJ-24039
Support smart step into for property setters
IDE. Decompiler, Indexing, Stubs
KTIJ-24351
Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literal
IDE. Gradle Integration
KTIJ-24616
Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-BetaKT-55347
Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialisedKTIJ-23781
TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependency
IDE. Gradle. Script
KT-56941
Gradle KTS / Navigation: Go to declaration for Java types doesn't work
IDE. Inspections and Intentions
KTIJ-23404
K2 IDE. Platform type is inserted as type parameter for "Change return type" intentionKTIJ-24319
"Set module version to *" quickfix isn't workingKTIJ-23225
"Change package" intention unintentionally and intractably replaces text inside of critical strings and commentsKTIJ-23892
UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9KTIJ-22087
Support IDE inspections for upcoming data objectsKTIJ-24286
Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.StringKTIJ-23859
ConvertObjectToDataObjectInspection support more hashCode and toString casesKTIJ-23760
Get rid ofreadResolve
logic in ConvertObjectToDataObjectInspection
IDE. KDoc
KTIJ-24342
KDoc: First line break character is swallowed when pasted
IDE. Misc
KTIJ-24370
Remove link to k2.xml from plugin.xml in kt-223 branchesKTIJ-24210
Compatibility issue with the CUBA plugin
IDE. Multiplatform
KTIJ-21205
MPP: Kotlin not configured error is shown for K/N sources if Android target is presentedKT-52172
Multiplatform: Support composite buildsKT-56198
Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm buildKTIJ-24147
MPP: NullPointerException: versionString must not be null
IDE. Refactorings. Move
KTIJ-24243
Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are moved
IDE. Script
KT-56632
Script configuration cannot be loaded for embedded code snippets
IDE. Wizards
KTIJ-24562
Android target created by wizard contains AGP higher than supportedKTIJ-24402
Changes "Browser Application for Kotlin/Wasm" wizard templateKTIJ-23525
Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion
JavaScript
New Features
KT-54118
Kotlin/JS IR: keep declarations with non-minified namesKT-35655
Investigate could we use "names" field in SourceMaps to improve debug experience
Fixes
KT-55971
KJS: Result of suspend function cannot be assigned to property of dynamic valueKT-52374
KJS / IR: caling suspend function as dynamic ignores the rest of the expressionKT-56884
KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion objectKT-51122
Provide fully-qualified method name in Kotlin/JS source mapsKT-56602
KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-BetaKT-56580
KJS: languageVersionSettings string is unstableKT-56581
KJS: Lock file for incremental cacheKT-56582
KJS: Function type interface reflection crashes the compiler in incremental buildKT-55720
KJS:ReferenceError: SuspendFunction1 is not defined
with 1.8 when importingkotlin.coroutines.SuspendFunction1
KT-56469
KJS: BE Incremental rebuild spoils source map commentKT-55930
KJS: A recursive callable reference of the inline function leads broken cross module referencesKT-31888
Kotlin/JS: make possible to callmain()
in main run tasks, but not in test tasksKT-51581
FIR: support JS backendKT-55786
KJS: Rewriting of secondary constructors if they are protectedKT-52563
KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKT-55367
KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS codeKT-55240
KJS: "NoSuchElementException: No element of given type found" caused by@JsExport
andThrowable's
child classKT-54398
KJS / IR + IC: Support *.d.ts generationKT-55144
KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a callerKT-54134
KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions aroundKT-54911
KJS / IR + IC: invalidate all klib dependencies after removing itKT-54912
KJS / IR + IC: Commit cache header only in the end (after lowering)KT-52677
Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke"KT-54480
KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as defaultKT-41294
KJS: Weird behaviour of j2v8 in test infraKT-54173
Kotlin/JS + IR: failed to providekeep
setting to avoid DCE remove of default interface function from implementing object
Language Design
KT-55451
Preview of lifting restriction on secondary constructor bodies for value classesKT-54621
Preview of Enum.entries: modern and performant replacement for Enum.values()KT-54525
Preview of Java synthetic property referencesKT-55337
Preview of data objectsKT-55344
Deprecate@Synchronized
in platforms except JVM
Libraries
KT-35508
EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)KT-56794
Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystemKT-55935
[Kotlin/JVM] Path.copyToRecursively does not work across file systemsKT-55978
Provide Common Base64 encoding in stdlibKT-46211
[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large inputKT-31066
Add Closeable & use to common stdlibKT-55609
Introduce experimental kotlin.concurrent.Volatile annotationKT-39789
Segfault in Kotlin/Native regex interpreterKT-53310
Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
KT-56443
Native link task reports w: Cached libraries will not be used for optimized compilationKT-55938
[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
KT-55303
Objective-C import: improve-fmodules
flag discoverability.KT-39120
Cinterop tool doesn't support the -fmodules compiler argumentKT-40426
Incorrect Objective-C extensions importing that prevents UIKit usageKT-55653
Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override itKT-54284
Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
KT-56350
Kotlin/Native: restore "use Foundation" in generated Objective-C frameworksKT-55736
Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point"KT-53638
Native: support disabling mangling globally for Swift names in generated Objective-C headerKT-53069
SOE on K/N framework build for Arm64KT-53317
ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
KT-53064
Native: provide stdlib API to obtain memory management statistics
Reflection
KT-27585
Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessibleKT-55178
Improve performance of KCallable.callByKT-53279
Reflection: "KotlinReflectionInternalError: Method is not supported" caused by@Repeatable
annotation deserialization at runtime if it's repeated and contains arraysKT-44977
Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
KT-57077
1.8.20-RC-243
shows Java 19 warnings even if configured with Java 17 toolchainKT-56992
Performance test regression in Gradle when switching to Kotlin 1.8.20KT-56789
Metaspace memory leak in CoreJrtFileSystemKT-56925
Remove warning about assignment pluginKT-54652
Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disableKT-55784
Unable to format compilation errors with ansi colors in compilation serverKT-54718
K2: Compiler crashes with "IllegalArgumentException: newPosition > limit"KT-54337
CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
KT-47429
[Commonizer] OKIO supportKT-51517
C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
Fixes
KT-53590
K2 Allopen does not look for transitive meta-annotationsKT-56487
Add more methods to DescriptorSerializerPluginKT-54020
[K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to@AllArgsConstructor
annotation and an empty list is set as a constructor param valueKT-53096
Create a pack of compiler utilities for generating declarations from pluginsKT-55248
K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classesKT-54756
Deprecate "legacy" mode of jvm-abi-gen pluginKT-55233
jvm-abi-gen strips out InnerClass attributesKT-54994
K2 plugin API: Compile-time constants are not evaluated before IRKT-55023
K2 plugin API: Compilation with Kotlin daemon fails after certain number of triesKT-55286
K2: Parcelize plugin sometimes can't find nested objects in current classKT-54500
Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
KT-56738
Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enumKT-56990
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializer
and List argumentKT-54441
Prohibit implicit serializer customization via companion objectKT-49983
Implement prototype of kotlinx.serialization for K2 compilerKT-48733
"AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameterKT-54297
Regression in serializable classes with star projections
Tools. Gradle
New Features
KT-54691
Kotlin Gradle Plugin libraries alignment platformKT-54492
Send gradle build errors from ideaKT-55540
Add compilation speed metric in build reportsKT-55541
Validate FUS metrics values on Gradle side
Performance Improvements
KT-54836
Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+KT-55995
Add ability to perform precise compilation task outputs backupKT-54579
Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11KT-54588
KotlinCompile: Avoid callingFileCollection.getFiles()
multiple times
Fixes
KT-57296
Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin appliedKT-56645
Gradle: KGP reports an incorrect resources processing task name for JVM projectsKT-55824
DeprecatecommonMain.dependsOn(anything)
in user scriptsKT-56221
Gradle KTS: False positiveVal cannot be reassigned
when using an extension and its property with an implicitset
operatorKT-55452
Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs taskKT-55565
Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTaskKT-55632
'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8KT-56414
Dependency locking and failed builds with Kotlin 1.8.10KT-52625
Compatibility with Gradle 7.4 releaseKT-55544
Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgsKT-52149
Gradle: declare shared build services usages withTask#usesService
KT-55323
Gradle: allow to opt-out of reporting compiler arguments to a http statistics serviceKT-53811
Compatibility with Gradle 7.6 releaseKT-52998
Compatibility with Gradle 7.5 releaseKT-55741
Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'.KT-55174
KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task"KT-54425
Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage()KT-54998
"kotlin.gradle.performance" FUS collector reports data twiceKT-55520
Add required configuration for Kotlin Gradle Plugin API reference publicationKT-52963
Build report code breaks Gradle project isolation.KT-55164
KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache failsKT-52490
Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warningsKT-55000
Include information about the new IC into "kotlin.gradle.performance" FUS collectorKT-54941
Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first buildKT-45748
Migrate all Kotlin Gradle plugin Android tests to new test setupKT-54029
Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
KT-41830
CocoaPods integration: Support link-only mode for podsKT-55117
PodGenTask doesn't declare ouputs properlyKT-55243
Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root projectKT-56304
Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic librariesKT-56298
Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle projectKT-55801
Deprecate useLibrariesKT-55790
Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
KT-25878
Provide Option to Define Scoped NPM PackageKT-37759
[Gradle, JS] Support arguments of command line for webpack and nodejs taskKT-33518
Allow specifying command line args for node in nodejs or mocha testsKT-46163
KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
KT-55476
KotlinWebpack should be cacheableKT-39108
Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend pluginKT-45411
Investigate memory consumption in npm packageKT-51376
KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
KT-57285
KJS / Gradle / MPP: FileNotFoundException on publishing empty KJS sourcesetKT-57068
KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-BetaKT-54445
KJS Remove dukat integrationKT-56999
K/JS: KotlinJsIrLink::rootCacheDirectory property must be publicKT-56765
K/JS: Several binaries use same cache directoryKT-54529
KJS / IR: generate typescript definitions only on explicit Gradle actionKT-56488
Debugger won't stop on breakpoints of JS browser testKT-56719
KJS / Gradle: Compile sync task has to sync only changed filesKT-56131
KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is brokenKT-37668
Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL"KT-35285
Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locationsKT-55593
KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as@Deprecated
in 1.8KT-33291
JS: No build result with gradle parallel build in multiproject buildKT-40925
KJS: need a way to configure extra environment variables for the test taskKT-47236
KJS:kotlinNpmInstall
fails if no yarn is downloadedKT-53288
KJS / Gradle: FileNotFoundException when customising moduleNameKT-54511
Kotlin/JS generated package.json main field is not correctly set if module name contains a/
(slash)KT-54421
KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14KT-54503
Make the target observer API public in kotlin JS ExtensionKT-54418
KJS: Change test running with kotlin-test adapterKT-54132
KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
KT-54766
TCS: external Android Target APIs: Milestone: CompileKT-50967
Make c-interop libs resolve robust to build cleanKT-53570
multiplatform 'natural hierarchy' prototype
Fixes
KT-36943
Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jarKT-57460
Kotlin Gradle Plugin: Nullthis
pointer in transformCommonMainDependenciesMetadataKT-57306
[Kotlin 1.8.20-RC] GradleException: Could not load the value of fieldapiConfiguration
oforg.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationConfigurationsContainer
KTIJ-23750
KotlinMppModelSerializationService is not invoked in production environmentKTIJ-24223
Update latest tested KGP version to 1.9.0-dev-764KT-56536
Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.nameKTIJ-23889
TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependenciesKT-56729
commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3KT-56510
Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistributionKT-54180
TCS: Initial external Android Target APIsKT-55010
TCS: External Android Target Prototype: Setup Android dependenciesKT-54783
KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilationsKT-54867
KotlinWithJavaCompilation does not respect javaSourceSet classpathsKT-52413
MPP: Gradle dependency substitution breaks KMP import for native targetsKT-56115
Multiplatform;Composite Builds: Support import with cinterop commonization enabledKT-54312
TCS: Replace CompilationDetails abstract class hierarchy by composable implementationKT-47441
MPP: Unresolved reference for dependent on the other module with dependencySubstitutionKT-56429
Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folderKT-56337
Unable to import a project with cinterop with enableKgpDependencyResolutionKT-55873
Unrequested dependencies leaking into common source sets: Regression after 703fd0fKT-55891
Deprecate pre-HMPP flagsKT-56278
TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source setsKT-56143
CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on targetKT-56285
TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolutionKT-56204
KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefixKT-56111
Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is requiredKT-54974
TCS: Gradle Sync: Implement IdeKotlinDependencyResolversKT-38712
Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is TurkishKT-54975
TCS: Gradle Sync: Implement stdlib-common filter for platform source setsKT-48839
Sources.jar of the root artifact of MPP library includes source files from test sourcesetsKT-55492
TCS: Gradle Sync: Sources and Documentation as extra 'classpath'KT-55237
TCS: Gradle Sync: Support stdlib-native sourcesKT-55475
TCS: Gradle Sync: Fine tune jvmAndAndroid source setsKT-55189
TCS: Gradle Sync: Support icons (native, js) and global librariesKT-55218
KotlinTargetHierarchy: Disambiguate declaring targets vs including targetsKT-55112
TCS: Gradle Sync: Resolve Source DependenciesKT-54977
TCS: Gradle Sync: Implement debugging toolsKT-54948
TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCSKT-55289
TCS: Gradle Sync: Prototypical sources jar resolutionKT-55238
TCS: Gradle Sync: Support commonized native distributionKT-55230
Remove metadata dependencies transformation for runtimeOnly scopeKT-53338
Prettify the message about incompatible AGP and KGP versionsKT-55134
MPP / Gradle: Cannot read test tasks stateKT-54506
Test tasks are considered up-to-date after a failure when triggered byallTests
KTIJ-23509
Update latest tested KGP version to 1.8.20-dev-1815KT-54787
Test tasks are not up-to-date when an individual test task called after aggregating test taskKT-54033
Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP ApisKT-54202
CInterop Commonization fails on first run when native distribution is not yet commoniziedKT-54135
Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
KT-37051
MPP Gradle plugin: duplicated cinterop libraries in composite buildKT-55650
Pass through errors from Gradle to XcodeKT-56205
Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibsKT-54969
Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
KT-55021
New IC: "The following LookupSymbols are not yet converted to programSymbols" when removing/renaming file facadesKTIJ-21161
Incremental build is taking too long when no files have changed in the projectKT-53832
Enable new incremental compilation by default in GradleKT-55622
MPP: Incremental compilation ignores changes in source set structureKT-55309
IC: Get rid ofNonCachingLazyStorage
KT-53402
Incremental compilation tries to compile resourcesKT-54791
Incremental compilation in JPS broken in 1.8.20-dev-1815
Tools. JPS
KT-56165
Language version 1.9 and 2.0 is absent in Kotlin Compiler settingsKT-51536
[JPS] Recompile module on facet settings changeKT-53735
JPS / IC: "IOException: The system cannot find the file specified" on WindowsKT-47983
[JPS] Adding compilerSettings to Facet should initiate rebuild of moduleKT-54449
Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
KT-53135
Enable JVM IR for KAPT stub generation by defaultKT-41129
kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
KT-56635
KAPT / IR: "Unresolved reference: DaggerGeneratedCodeTest_AppComponent " caused by stub generation with Kotlin 1.8.20-BetaKT-56360
Kapt with JVM IR changes fields orderKT-54380
Kapt / IR: Build failed when inheritance by functional interface with suspend modifierKT-54245
JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.ktKT-33847
Kapt does not included Filer-generated class files on compilation classpathKT-55490
Kapt + JVM IR: "annotation@Foo
is missing default values"KT-43786
KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScopeKT-43117
Kapt: "System is already defined in this compilation unit"KT-46966
Kapt: correctErrorTypes: receiver type is NonExistentClassKT-46965
Kapt: correctErrorTypes: custom setter gets Object parameter typeKT-51087
KAPT:@JvmRepeatable
annotations are present in inverse order in KAPT stubsKT-54870
KAPT stub generation with JVM_IR backend throws exception for delegated propertiesKT-44350
Kapt Gradle integration tests failing with Android Gradle plugin 7.0KT-54030
Kapt: annotation processor warnings are displayed as errors on JDK 17+KT-32596
kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotationKT-37586
KAPT: When delegated property use an unknown type (to-be-generated class),correctTypeError
will mess up the$delegate
field type
Tools. Maven
KT-56697
IC: "Incremental compilation was attempted but failed" Failed to get changed files: java.io.IOException: readPrevChunkAddressKT-55709
Maven: "java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.io.OutputStream java.io.FilterOutputStream.out accessible"KT-29346
Add components.xml to automatically compile kotlin maven projectsKT-13995
Maven: Kotlin compiler plugin should respect model's compile source rootsKT-54822
Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter " from Kotlin Maven plugin invoking compiler when tags are emptyKT-47110
Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
KT-54095
It is difficult (if not impossible) to use kotlin compiler plugins with scriptingKT-54461
Warnings and stack traces when executing scripts via kotlin-maven-pluginKT-54733
Scripts: ConcurrentModificationException in *.main.kts scriptsKT-53283
Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup libraries
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.20.zip | 10df74c3c6e2eafd4c7a5572352d37cbe41774996e42de627023cb4c82b50ae4 |
kotlin-native-linux-x86_64-1.8.20.tar.gz | 43d3f2149c4862b9b3ebf84a0f26912f2a587082d2858747564ffeafd2534438 |
kotlin-native-macos-x86_64-1.8.20.tar.gz | e39e801eb8ae2e86a8fe0b5ee32535bf176fd284b6f6883a431cafbb27684055 |
kotlin-native-macos-aarch64-1.8.20.tar.gz | becc0f4367ae8854f33546efff40767cc2cb227da0cd7935a9a6784e9a2736d2 |
kotlin-native-windows-x86_64-1.8.20.zip | 5e25ef348e9eab9895f63047a3857b428dc977e81d22771a69d712500d7cf60a |