chore(deps): update kotlin.version to v1.8.20
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
org.jetbrains.kotlin:kotlin-maven-noarg (source) |
1.7.20 -> 1.8.20
|
||||
org.jetbrains.kotlin:kotlin-maven-allopen (source) |
1.7.20 -> 1.8.20
|
Release Notes
JetBrains/kotlin
v1.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 incompiler/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 initializers sometimes not called when first accessed from interop -
KT-49182
Strange cast from Unit to String -
KT-55288
False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifier -
KT-33132
Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclass -
KT-56061
K1 does not report error on inconsistent synthetic property assignment -
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory -
KT-55125
Difference in generated bytecode for open suspend functions of generic classes -
KT-54140
SOE atIrBasedDescriptorsKt.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: WrongimplicitModality
for interface inFirHelpers
-
KT-55912
"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused bykotlin
fqn in annotation -
KT-56018
[K2/N] Fir2Ir does not take value parameters annotations from FIR to IR -
KT-56091
[K2/N] Fix various property annotations -
KT-54209
K2: false positive deprecation on a class literal with deprecated companion -
KT-55977
[K2/N] Suspend function reference type is wrongly serialized to klib -
KT-55493
K2: False-negative VAL_REASSIGNMENT -
KT-55372
K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent class -
KT-55371
K2: compiled code fails trying to call static method of package-private Java grandparent class -
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-55996
K2: cannot switch the light tree mode off with -Xuse-fir-lt=false -
KT-55368
K2/MPP: Metadata compiler -
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-56015
Remove unnecessary stack traces for special checks for ObjC interop -
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-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 ofserializer
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-54742
K2: lambda with conditional barereturn
inferred to return Any, not Unit -
KT-54332
Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404 -
KT-55509
Invisible fake overrides are listed among lazy IR class members -
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-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 receiver -
KT-51397
"VerifyError: Bad type on operand stack" with context receivers -
KT-54905
KLIB check on compiled with pre-release version -
KT-55615
K2 often does not expand type aliases in annotation position -
KT-54522
K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList type -
KT-54300
K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous object -
KT-55495
K2: support lateinit intrinsic applicability checker -
KT-55494
MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already exists -
KT-54980
K2: Explicit type arguments in calls with the wrong number of type arguments are not resolved -
KT-54730
K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parameters -
KT-55611
IC / MPP: Optional internal annotations are not visible on incremental builds -
KT-55324
K2: ControlFlowGraphBuilder fails with index out of bounds exception -
KT-55656
K2: MRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtime -
KT-51277
"NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projection -
KT-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 functions -
KT-52193
Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source set -
KT-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.3 -
KT-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 first -
KT-55231
K2: Contract declarations are not passed to checkers -
KT-54411
False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines code -
KT-55005
Inconsistent behavior of array set operation in Kotlin 1.7.21 -
KT-44625
Property backing/delegate field annotations are not serialized/deserialized for non-JVM targets -
KT-42490
Receiver annotations are not serialized/deserialized for non-JVM targets -
KT-53441
K2: cannot access static method of package-private Java grandparent class -
KT-54197
[K2] Exception from inliner for inline function with context receiver -
KT-55246
Disable 'CustomEqualsInValueClasses' feature in 1.9 language version -
KT-55247
Disable 'InlineLateinit' feature in 1.9 language version -
KT-53957
K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receivers -
KT-55421
K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbol -
KT-52815
Compiler option -Xjdk-release fails to compile mixed projects -
KT-52236
Different modality in psi and fir -
KT-54921
K2: cannot access static field of package-private Java parent class -
KT-53698
K2: FIR2IR fails on call of inivisble extension function with Suppress -
KT-53920
K2: "NoSuchElementException: Keyorg.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115ab
is missing in the map" with unreachable code and anonymous object -
KT-55358
INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functions -
KT-51475
"ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contract -
KT-51951
"IllegalStateException: No receiver" caused by implicit invoke on typealias context receiver -
KT-52373
Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is included -
KT-54220
K2: compiler fails on compiling plus expression on unsigned int -
KT-54692
K2: compiler fails on compiling unsigned shifts -
KT-54824
K2: missing smartcast after two levels of aliasing and a reassignment -
KT-53368
Out of bounds read in sse version of String::hashCode -
KT-54978
K2: Property accesses with explicit type arguments pass frontend checkers -
KT-51863
ClassCastException when using context receivers with named argument. -
KT-55123
JvmSerializableLambda is not applicable in common code in multiplatform projects -
KT-45970
Missing deprecation warnings for constant operators calls in property initializers -
KT-54851
K2: analysis of as/is contains multiple errors that result in missing diagnostics -
KT-54668
K2: Inference error in body of lazy property with elvis with Nothing in RHS -
KT-55269
FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClass -
KT-55026
K2: Function hides internal constructor from another module -
KT-53070
Update intellij testdata fixes for FIR and merge it to master -
KT-53492
No parameter null check generated for constructor taking an inline class type -
KT-50489
Smart cast may lead to failing inference -
KT-55160
Kotlin's fragment element types must not extendIStubFileElementType
-
KT-55143
K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classes -
KT-47933
Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.Repeatable -
KT-55035
FIR: do not use FirValueParameter for FirFunctionalTypeRef -
KT-55095
Wrong containingDeclarationSymbol in type parameter from Enhancement -
KT-53946
K2: don't resolve Enum.declaringClass and Enum.getDeclaringClass -
KT-54673
K2. "Superclass is not accessible" from interface error for sealed interfaces -
KT-55074
OptIn false negative: constructor call with default argument value -
KT-54260
K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen plugin -
KT-55034
FIR: provide information about containing function/constructor to FirValueParameter -
KT-54744
K2: reassigning a var erases smartcast info of a variable derived from the old value -
KT-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 constructor -
KT-54910
Can not declare typed equals operator in inline class with "Nothing" return type -
KT-54909
Usage of custom typed equals operator in generic inline class is type-unsafe -
KT-53371
Properly resolve FIR to get fully resolved annotations -
KT-53519
FIR: argument mapping for annotations on value parameter is not properly built -
KT-54827
MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation ofandroidMain
target -
KT-54417
K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver type -
KT-54972
K2: Local functions with multiple type arguments are broken -
KT-54762
Private constructor is accessible from a public inline function via@PublishedAPI
annotation -
KT-54832
Deprecate incorrect callable references resolution behavior for KT-54316 -
KT-54732
DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64 -
KT-54897
K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another module -
KT-54784
NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scripts -
KT-54840
Field for const property on interface companion object loses deprecated status when copied to interface -
KT-53825
class files are generated when compilation fails with platform declaration clash -
KT-54526
K2: Raw type scope is lost after exiting from elvis -
KT-54570
K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw types -
KT-52157
Annotation on type parameter isn't present in the symbol loaded from the library -
KT-54318
VerifyError on{ null }
in catch block -
KT-54654
K2: Implicit types leaks into delegated member -
KT-54645
K2: Clash of two inherited classes with the same name -
KT-53255
[FIR2IR] StackOverflowError with long when-expression conditions -
KT-48861
No warning on incorrect usage of array type annotated as Nullable in Java -
KT-54539
@Deprecated
on members of private companion object is no longer needed -
KT-54403
Unexpected behaviour on overridden typed equals in inline class -
KT-54536
Unexpected result of comparison of inline class instances -
KT-54603
ClassCastException on comparison of inline classes with custom equals -
KT-54401
Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing' -
KT-54378
K2: smart cast breaks subtyping in case with complex projections -
KT-53761
Reified type not propagated to supertype token through two inline functions -
KT-53876
Manually instantiated annotations with unsigned arrays are not equal -
KT-51740
NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting range -
KT-54084
ClassCastException when trying to call a context receiver's method -
KT-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 function -
KT-49364
"VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int -
KT-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.MRIVATE
Fixes
-
KTIJ-24657
Disable pre-release and other metadata checks in IDE -
KT-55929
Unresolved dependencies for intermediate multiplatform SourceSets -
KTIJ-24179
Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2 -
KTIJ-23547
K2 IDE: Functional type: explicit parameter name VS ParameterName annotation -
KTIJ-23347
K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in tests -
KT-55862
Can't resolve kotlin-stdlib-js sources in IDE -
KTIJ-23587
K2: SOE in delegate field resolution -
KT-55782
[SLC] Typealiases are not exapnded in arguments of annotations -
KT-55778
[SLC] Incorrect determination of useSitePostion for types of local declarations -
KT-55780
[SLC] No approximation of anonymous and local types in members -
KT-55743
K2 SLC: SymbolLightClassForClassOrObject must have a name -
KT-55604
Descriptor leak -
KT-55502
SLC: drop redundant 'final' modifier from synthetic static enum members -
KT-55497
LC: drop@NotNull
annotation from parameter from synthetic Enum.valueOf -
KT-55496
SLC: generated synthetic enum methods by symbols instead of manual creation -
KT-55481
SLC: implement correct java annotations for annotation classes (Retention, Target, etc.) -
KT-55470
SLC: implement light class for RepeatableContainer -
KT-55442
SLC: 'isInheritor' for 'DefaultImpls' should work correctly -
KTIJ-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 Throws -
KT-54051
Migrate symbol light classes from KtSymbol to KtElement
IDE. Completion
-
KTIJ-22503
Support code completion for data objects -
KTIJ-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 project -
KTIJ-24003
Smart step into doesn't work for Java synthetic properties references -
KTIJ-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-Beta -
KT-55347
Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialised -
KTIJ-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" intention -
KTIJ-24319
"Set module version to *" quickfix isn't working -
KTIJ-23225
"Change package" intention unintentionally and intractably replaces text inside of critical strings and comments -
KTIJ-23892
UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9 -
KTIJ-22087
Support IDE inspections for upcoming data objects -
KTIJ-24286
Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.String -
KTIJ-23859
ConvertObjectToDataObjectInspection support more hashCode and toString cases -
KTIJ-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 branches -
KTIJ-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 presented -
KT-52172
Multiplatform: Support composite builds -
KT-56198
Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm build -
KTIJ-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 supported -
KTIJ-24402
Changes "Browser Application for Kotlin/Wasm" wizard template -
KTIJ-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 names -
KT-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 value -
KT-52374
KJS / IR: caling suspend function as dynamic ignores the rest of the expression -
KT-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 object -
KT-51122
Provide fully-qualified method name in Kotlin/JS source maps -
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-55720
KJS:ReferenceError: SuspendFunction1 is not defined
with 1.8 when importingkotlin.coroutines.SuspendFunction1
-
KT-56469
KJS: BE Incremental rebuild spoils source map comment -
KT-55930
KJS: A recursive callable reference of the inline function leads broken cross module references -
KT-31888
Kotlin/JS: make possible to callmain()
in main run tasks, but not in test tasks -
KT-51581
FIR: support JS backend -
KT-55786
KJS: Rewriting of secondary constructors if they are protected -
KT-52563
KJS / IR: Invalid TypeScript generated for class extending base class with private constructor -
KT-55367
KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS code -
KT-55240
KJS: "NoSuchElementException: No element of given type found" caused by@JsExport
andThrowable's
child class -
KT-54398
KJS / IR + IC: Support *.d.ts generation -
KT-55144
KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a caller -
KT-54134
KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions around -
KT-54911
KJS / IR + IC: invalidate all klib dependencies after removing it -
KT-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 default -
KT-41294
KJS: Weird behaviour of j2v8 in test infra -
KT-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 classes -
KT-54621
Preview of Enum.entries: modern and performant replacement for Enum.values() -
KT-54525
Preview of Java synthetic property references -
KT-55337
Preview of data objects -
KT-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 ZipFileSystem -
KT-55935
[Kotlin/JVM] Path.copyToRecursively does not work across file systems -
KT-55978
Provide Common Base64 encoding in stdlib -
KT-46211
[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large input -
KT-31066
Add Closeable & use to common stdlib -
KT-55609
Introduce experimental kotlin.concurrent.Volatile annotation -
KT-39789
Segfault in Kotlin/Native regex interpreter -
KT-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 compilation -
KT-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 argument -
KT-40426
Incorrect Objective-C extensions importing that prevents UIKit usage -
KT-55653
Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override it -
KT-54284
Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
-
KT-56350
Kotlin/Native: restore "use Foundation" in generated Objective-C frameworks -
KT-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 header -
KT-53069
SOE on K/N framework build for Arm64 -
KT-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 accessible -
KT-55178
Improve performance of KCallable.callBy -
KT-53279
Reflection: "KotlinReflectionInternalError: Method is not supported" caused by@Repeatable
annotation deserialization at runtime if it's repeated and contains arrays -
KT-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 toolchain -
KT-56992
Performance test regression in Gradle when switching to Kotlin 1.8.20 -
KT-56789
Metaspace memory leak in CoreJrtFileSystem -
KT-56925
Remove warning about assignment plugin -
KT-54652
Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disable -
KT-55784
Unable to format compilation errors with ansi colors in compilation server -
KT-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 support -
KT-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-annotations -
KT-56487
Add more methods to DescriptorSerializerPlugin -
KT-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 value -
KT-53096
Create a pack of compiler utilities for generating declarations from plugins -
KT-55248
K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classes -
KT-54756
Deprecate "legacy" mode of jvm-abi-gen plugin -
KT-55233
jvm-abi-gen strips out InnerClass attributes -
KT-54994
K2 plugin API: Compile-time constants are not evaluated before IR -
KT-55023
K2 plugin API: Compilation with Kotlin daemon fails after certain number of tries -
KT-55286
K2: Parcelize plugin sometimes can't find nested objects in current class -
KT-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 enum -
KT-56990
"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializer
and List argument -
KT-54441
Prohibit implicit serializer customization via companion object -
KT-49983
Implement prototype of kotlinx.serialization for K2 compiler -
KT-48733
"AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameter -
KT-54297
Regression in serializable classes with star projections
Tools. Gradle
New Features
-
KT-54691
Kotlin Gradle Plugin libraries alignment platform -
KT-54492
Send gradle build errors from idea -
KT-55540
Add compilation speed metric in build reports -
KT-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 backup -
KT-54579
Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11 -
KT-54588
KotlinCompile: Avoid callingFileCollection.getFiles()
multiple times
Fixes
-
KT-57296
Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin applied -
KT-56645
Gradle: KGP reports an incorrect resources processing task name for JVM projects -
KT-55824
DeprecatecommonMain.dependsOn(anything)
in user scripts -
KT-56221
Gradle KTS: False positiveVal cannot be reassigned
when using an extension and its property with an implicitset
operator -
KT-55452
Values of the compiler arguments set via KotlinCompile task configuration are duplicated by the KaptGenerateStubs task -
KT-55565
Consider de-duping or blocking standard addition of freeCompilerArgs to KaptGenerateStubsTask -
KT-55632
'The configuration :kotlinCompilerClasspath is both consumable and declarable' messages are displayed in logs for different types of projects for KotlinCompile task with gradle 8 -
KT-56414
Dependency locking and failed builds with Kotlin 1.8.10 -
KT-52625
Compatibility with Gradle 7.4 release -
KT-55544
Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgs -
KT-52149
Gradle: declare shared build services usages withTask#usesService
-
KT-55323
Gradle: allow to opt-out of reporting compiler arguments to a http statistics service -
KT-53811
Compatibility with Gradle 7.6 release -
KT-52998
Compatibility with Gradle 7.5 release -
KT-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 twice -
KT-55520
Add required configuration for Kotlin Gradle Plugin API reference publication -
KT-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 fails -
KT-52490
Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warnings -
KT-55000
Include information about the new IC into "kotlin.gradle.performance" FUS collector -
KT-54941
Gradle, Daemon, MacOS M1: "Native integration is not available for Mac OS X aarch64" on first build -
KT-45748
Migrate all Kotlin Gradle plugin Android tests to new test setup -
KT-54029
Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
-
KT-41830
CocoaPods integration: Support link-only mode for pods -
KT-55117
PodGenTask doesn't declare ouputs properly -
KT-55243
Gradle 7.6: Cocoapods plugin generates invalid podspec when applied in root project -
KT-56304
Podspec generated with new K/N artifact DSL contains wrong artifact names for static and dynamic libraries -
KT-56298
Assemble tasks for native binaries fail if more than one kotlin artifact is declared in one gradle project -
KT-55801
Deprecate useLibraries -
KT-55790
Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
-
KT-25878
Provide Option to Define Scoped NPM Package -
KT-37759
[Gradle, JS] Support arguments of command line for webpack and nodejs task -
KT-33518
Allow specifying command line args for node in nodejs or mocha tests -
KT-46163
KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
-
KT-55476
KotlinWebpack should be cacheable -
KT-39108
Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend plugin -
KT-45411
Investigate memory consumption in npm package -
KT-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 sourceset -
KT-57068
KJS / Gradle: "Unable to find method 'kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl.testTask'" after updating to 1.8.20-Beta -
KT-54445
KJS Remove dukat integration -
KT-56999
K/JS: KotlinJsIrLink::rootCacheDirectory property must be public -
KT-56765
K/JS: Several binaries use same cache directory -
KT-54529
KJS / IR: generate typescript definitions only on explicit Gradle action -
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 -
KT-56131
KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is broken -
KT-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 locations -
KT-55593
KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as@Deprecated
in 1.8 -
KT-33291
JS: No build result with gradle parallel build in multiproject build -
KT-40925
KJS: need a way to configure extra environment variables for the test task -
KT-47236
KJS:kotlinNpmInstall
fails if no yarn is downloaded -
KT-53288
KJS / Gradle: FileNotFoundException when customising moduleName -
KT-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 14 -
KT-54503
Make the target observer API public in kotlin JS Extension -
KT-54418
KJS: Change test running with kotlin-test adapter -
KT-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: Compile -
KT-50967
Make c-interop libs resolve robust to build clean -
KT-53570
multiplatform 'natural hierarchy' prototype
Fixes
-
KT-36943
Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jar -
KT-57460
Kotlin Gradle Plugin: Nullthis
pointer in transformCommonMainDependenciesMetadata -
KT-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 environment -
KTIJ-24223
Update latest tested KGP version to 1.9.0-dev-764 -
KT-56536
Multiplatform: Composite build fails on included build with rootProject.name != buildIdentifier.name -
KTIJ-23889
TCS: Gradle Sync: Match sources.jar dependencies to sourceSetName scoped dependencies -
KT-56729
commonizeCInterop: Duplicated libraries: co.touchlab:sqliter-driver-cinterop-sqlite3 -
KT-56510
Import with included plugin build may fail with OverlappingFileLockException during commonizeNativeDistribution -
KT-54180
TCS: Initial external Android Target APIs -
KT-55010
TCS: External Android Target Prototype: Setup Android dependencies -
KT-54783
KotlinJvmWithJavaCompilation mututal .all listener loop creates two compilations -
KT-54867
KotlinWithJavaCompilation does not respect javaSourceSet classpaths -
KT-52413
MPP: Gradle dependency substitution breaks KMP import for native targets -
KT-56115
Multiplatform;Composite Builds: Support import with cinterop commonization enabled -
KT-54312
TCS: Replace CompilationDetails abstract class hierarchy by composable implementation -
KT-47441
MPP: Unresolved reference for dependent on the other module with dependencySubstitution -
KT-56429
Fix flaky: MppIdeDependencyResolutionIT.test cinterops - are stored in root gradle folder -
KT-56337
Unable to import a project with cinterop with enableKgpDependencyResolution -
KT-55873
Unrequested dependencies leaking into common source sets: Regression after703fd0f
-
KT-55891
Deprecate pre-HMPP flags -
KT-56278
TCS: Gradle Sync: [MISSING_DEPENDENCY_CLASS] on libraries used in shared native source sets -
KT-56143
CInteropDependencyConfiguration and CInteropApiElementsConfiguration are missing attributes defined on target -
KT-56285
TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolution -
KT-56204
KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefix -
KT-56111
Multiplatform;Composite Builds: Clean builds fail on when 'hostSpecificMetadata' is required -
KT-54974
TCS: Gradle Sync: Implement IdeKotlinDependencyResolvers -
KT-38712
Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is Turkish -
KT-54975
TCS: Gradle Sync: Implement stdlib-common filter for platform source sets -
KT-48839
Sources.jar of the root artifact of MPP library includes source files from test sourcesets -
KT-55492
TCS: Gradle Sync: Sources and Documentation as extra 'classpath' -
KT-55237
TCS: Gradle Sync: Support stdlib-native sources -
KT-55475
TCS: Gradle Sync: Fine tune jvmAndAndroid source sets -
KT-55189
TCS: Gradle Sync: Support icons (native, js) and global libraries -
KT-55218
KotlinTargetHierarchy: Disambiguate declaring targets vs including targets -
KT-55112
TCS: Gradle Sync: Resolve Source Dependencies -
KT-54977
TCS: Gradle Sync: Implement debugging tools -
KT-54948
TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCS -
KT-55289
TCS: Gradle Sync: Prototypical sources jar resolution -
KT-55238
TCS: Gradle Sync: Support commonized native distribution -
KT-55230
Remove metadata dependencies transformation for runtimeOnly scope -
KT-53338
Prettify the message about incompatible AGP and KGP versions -
KT-55134
MPP / Gradle: Cannot read test tasks state -
KT-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-1815 -
KT-54787
Test tasks are not up-to-date when an individual test task called after aggregating test task -
KT-54033
Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP Apis -
KT-54202
CInterop Commonization fails on first run when native distribution is not yet commonizied -
KT-54135
Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
-
KT-37051
MPP Gradle plugin: duplicated cinterop libraries in composite build -
KT-55650
Pass through errors from Gradle to Xcode -
KT-56205
Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibs -
KT-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 facades -
KTIJ-21161
Incremental build is taking too long when no files have changed in the project -
KT-53832
Enable new incremental compilation by default in Gradle -
KT-55622
MPP: Incremental compilation ignores changes in source set structure -
KT-55309
IC: Get rid ofNonCachingLazyStorage
-
KT-53402
Incremental compilation tries to compile resources -
KT-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 settings -
KT-51536
[JPS] Recompile module on facet settings change -
KT-53735
JPS / IC: "IOException: The system cannot find the file specified" on Windows -
KT-47983
[JPS] Adding compilerSettings to Facet should initiate rebuild of module -
KT-54449
Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
-
KT-53135
Enable JVM IR for KAPT stub generation by default -
KT-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-Beta -
KT-56360
Kapt with JVM IR changes fields order -
KT-54380
Kapt / IR: Build failed when inheritance by functional interface with suspend modifier -
KT-54245
JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.kt -
KT-33847
Kapt does not included Filer-generated class files on compilation classpath -
KT-55490
Kapt + JVM IR: "annotation@Foo
is missing default values" -
KT-43786
KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope -
KT-43117
Kapt: "System is already defined in this compilation unit" -
KT-46966
Kapt: correctErrorTypes: receiver type is NonExistentClass -
KT-46965
Kapt: correctErrorTypes: custom setter gets Object parameter type -
KT-51087
KAPT:@JvmRepeatable
annotations are present in inverse order in KAPT stubs -
KT-54870
KAPT stub generation with JVM_IR backend throws exception for delegated properties -
KT-44350
Kapt Gradle integration tests failing with Android Gradle plugin 7.0 -
KT-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 annotation -
KT-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: readPrevChunkAddress -
KT-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 projects -
KT-13995
Maven: Kotlin compiler plugin should respect model's compile source roots -
KT-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 empty -
KT-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 scripting -
KT-54461
Warnings and stack traces when executing scripts via kotlin-maven-plugin -
KT-54733
Scripts: ConcurrentModificationException in *.main.kts scripts -
KT-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 |
v1.8.10
Changelog
Compiler
-
KT-55483
K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory -
KT-55729
"None of the following functions can be called with the arguments supplied:" in 1.8.0 -
KT-55769
"ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0 -
KT-55308
InnerClass attributes should be sorted (innermost last)
JavaScript
-
KT-56282
KJS: Invalidate incremental cache in case of compiler internal errors -
KT-55852
JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type -
KT-55716
KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0 -
KT-55758
KJS / IR: Checking implemented interface on a class implementing a @JsExport interface returns the wrong result
Reflection
-
KT-56093
Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
Tools. Compiler plugins. Serialization
-
KT-56347
[Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error -
KT-55681
Serialization: NullPointerException after update to 1.8.0 caused by@Serializer(forClass= ..)
-
KT-56244
kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0 -
KT-55683
Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object -
KT-55682
Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
Tools. Gradle
-
KT-55697
KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
Tools. Gradle. Multiplatform
-
KT-55730
MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
Tools. Gradle. Native
-
KT-56280
Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
Tools. Kapt
-
KT-48013
Kapt generates illegal stubs for private interface methods
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.8.10.zip | 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 |
kotlin-native-linux-x86_64-1.8.10.tar.gz | 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 |
kotlin-native-macos-x86_64-1.8.10.tar.gz | 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db |
kotlin-native-macos-aarch64-1.8.10.tar.gz | 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 |
kotlin-native-windows-x86_64-1.8.10.zip | e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d |
v1.8.0
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 forandroidTest/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 withwhen
-
KT-48162
NON_VARARG_SMREAD 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 andwhen
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 withsuper
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 type aliases with type parameters -
KT-54049
K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED -
KT-30054
Wrong approximation if nullable anonymous object with implemented interface is used -
KT-53751
Postpone IgnoreNullabilityForErasedValueParameters feature -
KT-53324
Implement Enum.entries lowering on K/N -
KT-44441
K2: report redeclaration error if there is a Java class with the same name as the Kotlin class -
KT-53807
No warning about declaringClass on an enum value -
KT-53493
K2:val on function parameter
counts as just warning -
KT-53435
K2: "IllegalArgumentException: class KtValueArgument is not a subtype of class KtExpression for factory ANNOTATION_ARGUMENT_MUST_BE_CONST" if string in nested annotation is concatenated -
KT-52927
AssertionError: LambdaKotlinCallArgumentImpl -
KT-53922
Make Enum.entries unstable feature to poison binaries -
KT-53783
Exception during psi2ir when declaring expect data object -
KT-53622
[OVERLOAD_RESOLUTION_AMBIGUITY] when enum entry called 'entries' is present in K2 -
KT-41670
JVM IR: AbstractMethodError when using inheritance for fun interfaces -
KT-53178
K2: implement diagnostics for serialization plugin -
KT-53804
Restore old and incorrect logic of generating InnerClasses attributes for kotlin-stdlib -
KT-52970
Default value constant in companion object works on JVM and JS, but fails on native -
KT-51114
FIR: Support DNN checks -
KT-27936
Write InnerClasses attribute for all class names used in a class file -
KT-53719
Parsing regression on function call with type arguments and labeled lambda -
KT-53261
Evaluate effect from inline for primitive types -
KT-53706
K2: Context receivers are not resolved on properties during type resolution stage -
KT-39492
Kotlin.Metadata's packageName field cannot be an empty string -
KT-53664
Ir Interpreter: unable to evaluate name of function reference marked with JvmStatic from another module -
KT-52478
[Native] Partial linkage: Building native binary from cached KLIBs fails if one library depends on removed nested callable member from another one -
KT-48822
CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtProperty - ConcurrentModificationException -
KT-50281
IllegalStateException: unsupported call of reified inlined function -
KT-50083
Different error messages in android and JVM (Intrinsics.checkNotNullParameter). -
KT-53236
Support Enum.entries codegen on JVM/IR BE -
KT-41017
FIR: should we support smartcast after null check -
KT-53202
"ISE: Descriptor can be left only if it is last" after direct invoke optimization on a capturing lambda -
KT-46969
@BuilderInference
with nested DSL scopes cause false-positive scope violation in Kotlin 1.5 -
KT-53257
FIR: Improper context receiver argument is chosen when there are two extension receiver candidates -
KT-53090
Anonymous function and extension function literals are generated as classes even with -Xlambdas=indy -
KT-53208
K2: Cannot get annotation for default interface method parameter when compiled with-Xuse-k2
-
KT-53184
K2: NoSuchMethodError on KProperty1.get() referenced via nullable typealias -
KT-53198
K2: Return type mismatch: expected kotlin/Unit, actual kotlin/Unit? -
KT-53100
Optimization needed: (CONSTANT_MRIMITIVE(x: T?)) => x -
KT-49875
[FIR] Support infering MRIVATE_TO_THIS visibility -
KT-53024
Refactor FIR renderer to composable architecture -
KT-50995
[FIR] Support SAM with receiver plugin -
KT-53148
K1: introduce warning for inline virtual member in enum -
KT-49847
Devirtualization fails to eliminate boxing in function reference context -
KT-52875
Extension function literal creation with-Xlambdas=indy
fails with incorrect arguments -
KT-53072
INVALID_IF_AS_EXMRESSION error isn't shown in the IDE (LV 1.8) -
KT-52985
Native: a function with typeT?
returned akotlin.Unit
instead ofnull
-
KT-52020
FIR warning message includes internal rendering -
KT-48778
-Xtype-enhancement-improvements-strict-mode not respecting@NonNull
annotation for property accesses?
IDE
Fixes
-
KTIJ-22357
CCE “class org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl cannot be cast to class org.jetbrains.kotlin.fir.types.FirResolvedTypeRef” in K2 -
KT-55150
Argument for@NotNull
parameter 'scope' of org/jetbrains/kotlin/resolve/AnnotationResolverImpl.resolveAnnotationType must not be null -
KTIJ-22165
IDE notification to promote users to migrate to the new Kotlin/JS toolchain -
KTIJ-22166
IDE notification (or something else) about JPS and Maven support for Kotlin/JS is deprecated -
KT-53543
Rework light classes for file facade -
KT-48773
Investigate the possibility of removing dependency on old JVM backend in light classes -
KTIJ-19699
IDE: False positive type mismatch in Java code for Kotlin nested class non-direct inheritor from external library -
KT-51101
FIR IDE: Exception on "Show Type Info" action -
KTIJ-22295
MPP, IDE: False positive UPPER_BOUND_VIOLATED when JVM module implements the generic interface from MPP module and the type parameter is not equal to itself. -
KT-51656
FIR IDE: ProgressCancelled exception is masked in the compiler during resolve -
KT-51315
FIR IDE: move out base modules from fe10 plugin to reuse in k2 plugin -
KTIJ-22323
K2: ISE during resolve of stdlib calls from the stdlib -
KTIJ-21391
Generate -> Override methods : don't delegate to abstract methods -
KT-53097
Extract common part of light classes to another module -
KTIJ-22354
FIR LC: annotation owner is always null -
KTIJ-22157
Kotlin call resolver leaks user code when reporting exception
IDE. Completion
-
KTIJ-22552
Kotlin: 'for loop' postfix completion doesn't work - "Fe10SuggestVariableNameMacro must be not requested from main classloader" -
KTIJ-22503
Support code completion for data objects
IDE. Debugger
-
KT-51755
Compilation exception with scripting compilation during debug session -
KTIJ-21963
Debugger / IR: Expression evaluation of the debugger doesn't work
IDE. Decompiler, Indexing, Stubs
-
KTIJ-22750
Initialize Kotlin stub element types lazily -
KTIJ-18094
IDE: "AssertionError: Stub count doesn't match stubbed node length" with minified Android AAR library -
KTIJ-17632
IndexOutOfBoundsException: Cannot decompile a class located in minified AAR
IDE. Gradle Integration
-
KT-48135
In the IDE import, reuse dependency granular source set KLIBs across multi-project build to avoid duplicate external libraries -
KTIJ-22345
False positive unresolved reference for members of subclasses of expect classes. -
KT-53514
HMPP: False positive forNone of the following functions can be called with the arguments supplied.
with Enum in common module -
KT-51583
Gradle 7.4+ | SamplesVariantRule interference: Could not resolve all files for configuration ':kotlinKlibCommonizerClasspath' -
KTIJ-21077
Dependency matrix does not work with Jetpack compose / multiplatform projects
IDE. Inspections and Intentions
-
KTIJ-19531
Adapt changes about new rules for method implementation requirements -
KTIJ-22087
Support IDE inspections for upcoming data objects -
KTIJ-20510
Quick fix to implement and call correct super method in case of inheritance with defaults -
KTIJ-20170
Provide quickfix for deprecated resolution to private constructor of sealed class -
KTIJ-22630
FIR IDE: Lazy resolve exception after invocation ofOverride members
action on value class -
KT-49643
Intentions: "Implement members" fails when base type function declaration uses unresolved generic types
IDE. JS
-
KTIJ-22167
Make JS IR default in projects created by wizard -
KTIJ-22332
Wizard: Kotlin/JS projects: cssSupport DSL should be updated
IDE. KDoc
-
KTIJ-22324
K2 IDE: implement reference resolve inside KDocs
IDE. Multiplatform
-
KTIJ-19566
New Project Wizard: Update HMPP-related flags in multiplatform wizards
IDE. Navigation
-
KT-51314
FIR IDE: show Kotlin declarations in search symbol -
KTIJ-22755
Find usage for constructor from kotlin library doesn't work for secondary constructor usages
IDE. Script
-
KTIJ-22598
Add warning for standalone scripts in source roots -
KT-54325
.settings.gradle.kts and .init.gradle.kts are reported as standalone scripts
IDE. Structural Search
-
KTIJ-21986
KSSR: "CodeFragment with non-kotlin context should have fakeContextForJavaFile set: originalContext = null" warning shows up when replacing
IDE. Tests Support
-
KT-50269
FIR IDE: Allow running tests via gutter
IDE. Wizards
-
KTIJ-23537
Wizard: projects with Android modules require higher sdkCompileVersion -
KTIJ-23525
Wizard: Compose multiplatform: project won't build and require higher compileSdkVersion -
KTIJ-22763
New Project Wizard: remove deprecated Android extensions plugin from Android target in the project constructor -
KTIJ-22481
Wizard: Kotlin -> Browser application (gradle groove). Build error
JavaScript
Fixes
-
KT-55097
KJS / IR + IC: Using an internal function from a friend module throws an unbound symbol exception -
KT-54406
Kotlin/JS: build with dependencies fails with "Could not find "kotlin" in [~/.local/share/kotlin/daemon]" -
KT-53074
Make JS IR BE default in toolchain (gradle & CLI) -
KT-50589
UTF-8 Instability in kotlin.js.map -
KT-54934
KJS / IR + IC: Suspend abstract function stubs are generated with unstable lowered ic signatures -
KT-54895
KJS / IR + IC: broken cross module references for function default param wrappers -
KT-54520
KJS / IR Allow IdSignature clashes -
KT-54120
JS IR + IC: pointless invalidation of dependent code after modifying companions -
KT-53986
KJS / IR + IC: compiler produces different JS file names with IC and without IC -
KT-54010
JS IR + IC: Force IC cache invalidation after updating language version or features -
KT-53931
KJS / Gradle: Regression with 1.7.20-RC: ReferenceError: println is not defined -
KT-53968
Kotlin/JS: no UninitializedPropertyAccessException on access to non-initialized lateinit property defined in dependencies -
KT-54686
KJS / IR: Incorrect generation of signatures when one of argument is nested class -
KT-54479
KJS / IR + IC: Adding or removing companion fields leads java.lang.IllegalStateException in the compiler IC infrastructure -
KT-54382
KJS / IR: Wrong type check for inheritors of suspend functions -
KT-54323
KJS / IR + IC: Intrinsics from stdlib may lose their dependencies in incremental rebuild -
KT-53361
KJS / IR: No debug info is generated for in-line js code -
KT-53321
Implement Enum.entries lowering on JS/IR -
KT-53112
KJS IR turn on IC infra by default -
KT-50503
Kotlin/JS: IR + IC: compileTestDevelopmentExecutableKotlinJs fails with ISE: "Could not find library" after removing module dependency -
KT-54011
JS IR + IC: EnumEntries don't work well when IC is enabled -
KT-53672
KJS / IR: "IndexOutOfBoundsException: Index 0 out of bounds for length 0" caused by function reference to extension function of reified type variable -
KT-43455
KJS: IR. Incremental compilation problem with unbound symbols -
KT-53539
KJS: Exported class inherited non-exported class shows warning -
KT-53443
KJS/IR: NullPointerException caused by anonymous objects inside lambdas -
KT-52795
K/JS and K/Native IR-validation/compilation errors for a valid kotlin code -
KT-52805
KJS/IR: Invalid call of inline function inalso
block -
KT-51151
KJS / IR: Wrong overloaded generic method with receiver is called -
KT-52830
KJS/IR: Sourcemap disabling doesn't work -
KT-52968
KJS / IR: Buggy generation of overridden methods -
KT-53063
KJS / IR + IC: undefined cross module reference for implemented interface functions -
KT-51099
KJS / IR + IC: Cache invalidation doesn't check generic class variance annotations (in, out) -
KT-51090
KJS / IR + IC: Cache invalidation doesn't check suspend qualifier -
KT-51088
KJS / IR + IC: Cache invalidation doesn't check class qualifiers (data, inline) -
KT-51083
KJS / IR + IC: Cache invalidation doesn't check inline function which was non inline initially -
KT-51896
KJS / IR + IC: Cache invalidation doesn't trigger rebuild for fake overridden inline functions
Language Design
-
KT-48385
Deprecate confusing grammar in when-with-subject -
KT-48516
Forbid@Synchronized
annotation on suspend functions -
KT-41886
Ability to require opt-in for interface implementation, but not for usage -
KT-34943
OVERLOAD_RESOLUTION_AMBIGUITY inconsistent with the equivalent Java code -
KT-51334
Implement type-bound labelthis@Type
Libraries
New Features
-
KT-21007
Provide Kotlin OSGI Bundle with extensions for JRE8 (and JRE7) -
KT-54082
Comparable and subtractible TimeMarks -
KT-52928
Provide copyToRecursively and deleteRecursively extension functions for java.nio.file.Path -
KT-49425
Update OptIn documentation to reflect latest design changes -
KT-54005
Allow callingdeclaringJavaClass
on Enum -
KT-52933
rangeUntil members in built-in types
Performance Improvements
-
KT-53508
Cache typeOf-related KType instances when kotlin-reflect is used
Fixes
-
KT-51907
Switch JVM target of the standard libraries to 1.8 -
KT-54835
Document that Iterable.all(emptyCollection) returns TRUE. -
KT-54168
Expand on natural order in comparator docs -
KT-53277
Stabilize experimental API for 1.8 -
KT-53864
Review deprecations in stdlib for 1.8 -
KT-47707
Remove the system property and the brittlecontains
optimization code itself -
KT-52336
Different behavior on JVM and Native in stringBuilder.append(charArray, 0, 1) -
KT-53927
Remove deprecation from ConcurrentModificationException constructors -
KT-53152
Introduce EnumEntries to stdlib as backing implementation of Enum.entries -
KT-53134
stdlib > object Charsets > not thread safe lazy initialization -
KT-51063
Gradle project with JPS runner: "JUnitException: Failed to parse version" JUnit runner internal error with JUnit -
KT-52908
Native: setUnhandledExceptionHook swallows exceptions
Native
-
KT-51043
Kotlin Native: ObjC-Interop: kotlin.ClassCastException: null cannot be cast to kotlin.Function2 -
KT-50786
Native: prohibit suspend calls inside autoreleasepool {} -
KT-52834
Implement test infrastructure for K2/Native
Native. C Export
-
KT-36878
Reverse C Interop: incorrect headers generation for primitive unassigned type arrays -
KT-53599
[Reverse C Interop] Provide box/unbox API for unsigned primitive types -
KT-41904
Kotlin/Native : error: duplicate member for interface and function with the same name -
KT-42830
[Reverse C Interop] Add API to get value of boxed primitives -
KT-39496
K/N C: optional unsigned types as function parameters crash the compiler -
KT-39015
Cannot compile native library with nullable inline class
Native. C and ObjC Import
-
KT-54738
Cocoapods cinterop: linking platform.CoreGraphics package -
KT-54001
Kotlin/Native: support header exclusion in cinterop def files -
KT-53151
Native: Custom declarations in .def don't work with modules, only headers
Native. ObjC Export
-
KT-53680
Obj-C refinement annotations -
KT-54119
Native: runtime assertion failed due to missing thread state switch -
KT-42641
Don't export generated component* methods from Kotlin data classes to Obj-C header
Native. Platform Libraries
-
KT-54225
Native: update to Xcode 14.1 -
KT-54164
Native: commonizer fails on CoreFoundation types -
KT-39747
Why is there no WinHttp API in Kotlin/Native's Windows API?
Native. Runtime
-
KT-49228
Kotlin/Native: Allow to unset unhandled exception hook -
KT-27305
Fix FILE macro insideRuntimeCheck
andRuntimeAssert
Native. Runtime. Memory
-
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpful -
KT-53182
New memory manager: Unexpected memory usage on IOS
Native. Stdlib
-
KT-52429
Small Usability Improvements for Worker API
Reflection
-
KT-54629
Incorrectly cached class classifier -
KT-54611
KTypeImpl
does not take into account class loader from theclassifier
property -
KT-48136
MakeReflection.getOrCreateKotlinPackage
use cache whenkotlin-reflect
is used -
KT-50705
Use ClassValue to cache KClass objects in kotlin-reflect -
KT-53454
Properly cache the same class's KClass when it's loaded by multiple classloaders in getOrCreateKotlinClass
Specification
-
KT-54210
Update Kotlin specification to mention that since 1.8 generics in value classes are allowed
Tools. CLI
-
KT-54116
Add JVM target bytecode version 19 -
KT-53278
Support values 6 and 8 for -Xjdk-release -
KT-46312
CLI: Kotlin runner should use platform class loader to load JDK modules on Java 9+
Tools. Commonizer
-
KT-54310
Commonizer fails on 1.8.0-dev K/N distributions -
KT-48576
[Commonizer] platform.posix.pselect not commonized in Ktor
Tools. Compiler Plugins
-
KT-46959
Kotlin Lombok: Support generated builders (@Builder
) -
KT-53683
Unresolved reference compilation error occurs if a file is annotated with@
Singular and has any guava collection type : ImmutableTable, ImmutableList or else -
KT-53657
[K2] Unresolved reference compilation error occurs if a field is annotated with@
Singular and has type NavigableMap without explicit types specification -
KT-53647
[K2] Unresolved reference compilation error occurs if a field is annotated with@
Singular and has type Iterable<> -
KT-53724
Param of the@
Singular lombok annotation ignoreNullCollections=true is ignored by kotlin compiler -
KT-53451
[K2] References to methods generated by@
With lombok annotation can't be resolved with enabled K2 compiler -
KT-53721
[K2] There is no compilation error while trying to add null as a param of the field with non-null type -
KT-53370
Kotlin Lombok compiler plugin can't resolve methods generated for java boolean fields annotated with@
With annotation
Tools. Compiler plugins. Serialization
-
KT-54878
JVM/IR: java.lang.ClassCastException: class org.jetbrains.kotlin.ir.types.impl.IrStarProjectionImpl cannot be cast to class org.jetbrains.kotlin.ir.types.IrTypeProjection on serializer<Box<*>>() -
KT-55340
Argument for kotlinx.serialization.UseSerializers does not implement KSerializer or does not provide serializer for concrete type -
KT-55296
Improve exceptions in serialization plugin -
KT-55180
KJS: regression in serialization for Kotlin 1.8.0-beta -
KT-53157
Recursion detected in a lazy value under LockBasedStorageManager in kotlinx.serialization -
KT-54297
Regression in serializable classes with star projections -
KT-49660
kotlinx.serialization: IndexOutOfBoundsException for parameterized sealed class -
KT-43910
JS IR: Serialization with base class: "IndexOutOfBoundsException: Index 0 out of bounds for length 0"
Tools. Daemon
-
KT-52622
Kotlin/JS, Kotlin/Common compilations start Kotlin daemon incompatible with Kotlin/JVM compilation on JDK 8
Tools. Gradle
New Features
-
KT-27301
Expose compiler flags via Gradle lazy properties -
KT-53357
Change single build metrics property -
KT-50673
Gradle: KotlinCompile task(s) should use@NormalizeLineEndings
-
KT-34464
Kotlin build report path not clickable in the IDE
Performance Improvements
-
KT-51525
[Gradle] Optimize evaluating args for compile tasks -
KT-52520
Remove usage of reflection from CompilerArgumentsGradleInput
Fixes
-
KT-48843
Add ability to disable Kotlin daemon fallback strategy -
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 -
KT-54993
Raise kotlin.jvm.target.validation.mode check default level to error when build is running on Gradle 8+ -
KT-54136
Duplicated classes cause build failure if a dependency to kotlin-stdlib specified in an android project -
KT-50115
Setting toolchain via Java extension does not configure 'kotlinOptions.jvmTarget' value when Kotlin compilation tasks are created eagerly -
KT-55222
Migrate AndroidDependencyResolver to the new Gradle API -
KT-55119
There is no validation for different jvmTarget and targetCompatibility values in multiplatform projects with jvm target and used java sources -
KT-55102
Compile java task fails with different target version in pure kotlin project -
KT-54995
[1.8.0-Beta] compileAppleMainKotlinMetadata fails on default parameters withNo value passed for parameter 'mustExist'
-
KT-35003
Automatically set targetCompatibility for kotlin-jvm projects to work with gradle 6 metadata -
KT-45335
kotlinOptions.jvmTarget conflicts with Gradle variants -
KT-48798
Android: going from one to more than one productFlavor causes inputs of commonSourceSet$kotlin_gradle_plugin property of compileKotlin task to change -
KT-55019
Gradle sync: UnknownConfigurationException when adding implementation dependencies to a Kotlin with Java compilation -
KT-55004
jvmTarget value is ignored by depending modules if a task "UsesKotlinJavaToolchain" is configured for all project modules using allProjects {} -
KT-54888
Add Gradle property to suppress kotlinOptions.freeCompilerArgs modification on execution phase -
KT-54399
Undeprecate 'kotlinOptions' DSL -
KT-54306
Change the naming of newly added Compiler*Options classes and interfaces -
KT-54580
KotlinOptions in AbstractKotlinCompilation class are deprecated -
KT-54653
java.lang.NoClassDefFoundError: kotlin/jdk7/AutoCloseableKt exception if a dependency to the kotlin-stdlib is added -
KT-52624
Compatibility with Gradle 7.3 release -
KT-54703
Stdlib substitution does not work with JPMS modules -
KT-54602
Prevent leaking Gradle Compile DSL types into compiler cli runtime -
KT-54439
Project failed to sync Native LaguageSettings to compiler options in afterEvaluate -
KT-53885
Bump minimal supported Gradle version to 6.8.3 -
KT-53773
Protect and system properties can contain sensitive data -
KT-53732
Add custom values limits for build scan reports -
KT-52623
Compatibility with Gradle 7.2. release -
KT-51831
Gradle: removekotlin.compiler.execution.strategy
system property -
KT-51679
Change deprecation level to error for KotlinCompile setClasspath/getClasspath methods -
KT-54335
Kotlin build report configuration. There is no validation for SINGLE_FILE output if the required kotlin.build.report.single_file property is empty or absent -
KT-54356
Kotlin build report configuration. Wrong path is used for the property kotlin.internal.single.build.metrics.file -
KT-53617
KotlinCompilerExecutionStrategy value is ignored by depending modules if configure once for all project modules using allProjects {} -
KT-53823
Kotlin Gradle Plugin uses deprecated Gradle API: Provider.forUseAtConfigurationTime() -
KT-54142
Increase Kotlin Gradle plugin Gradle target API to 7.5 -
KT-50161
Android variant filter breaks KotlinCompile cache compatibility -
KT-54113
LanguageSettings to KotlinNativeLink.toolOptions sync are executed on the wrong context -
KT-53830
Versions of kotlin-stdlib-jdk8 and kotlin-stdlib-jdk7 aren't overrided if added as transitive dependencies to kotlin-stdlib -
KT-54112
Missing target input on KotlinNativeLink task -
KT-45879
Documentation: Wrong kotlin languageVersion "1.6 (EXPERIMENTAL)" -
KT-54103
Remove JvmTarget.JVM_1_6 from generated Gradle compiler type -
KT-52959
KMP code is breaking Gradle project isolation -
KT-50598
MULTIPLE_KOTLIN_PLUGINS_SPECIFIC_MROJECTS_WARNING is only shown on first build -
KT-53246
Gradle: Special characters in paths of errors and warnings should be escaped -
KT-47730
How to avoid stdlib coming from Kotlin gradle plugin -
KT-52209
Corrupted cache and non-incremental build if produce caches "in process" and restore then compiling with kotlin daemon -
KT-41642
"TaskDependencyResolveException: Could not determine the dependencies" when trying to apply stdlib -
KT-53390
Drop usage of -Xjava-source-roots when passing java sources required for Kotlin compilation -
KT-52984
Kotlin Gradle plugin is misbehaving by resolving DomainObjectCollection early -
KT-38622
Non-incremental compilation because of R.jar with Android Gradle plugin 3.6 -
KT-38576
AnalysisResult.RetryWithAdditionalRoots crashes during incremental compilation with java classes in classpath
Tools. Gradle. Cocoapods
-
KT-54314
Cocoapods: Signing pod dependency for Xcode 14 -
KT-54060
Xcode 14: disable bitcode embedding for Apple frameworks -
KT-53340
Change default linking type for frameworks registered by cocoapods plugin -
KT-53392
Deprecate and delete downloading pod dependencies by direct link -
KT-53695
Build of macOS application fails if a framework is integrated via Cocoapods plugin
Tools. Gradle. JS
-
KT-53367
KJS: Migrate cssSupport API -
KT-45789
KJS / IR: Transitive NPM dependencies are not included in PublicPackageJsonTask output -
KT-55099
K/JS: Second declaration of JS target without compiler type report warning incorrectly -
KT-52951
[KGP/JS] Browser test target registration via properties -
KT-52950
KJS: Report if yarn.lock was updated during built -
KT-53374
KJS / Gradle: Implement IDEA sync detection logic via ValueSource to improve configuration cache support -
KT-53381
Kotlin/JS: with erased kotlin-js-store/ and reportNewYarnLock = true the task kotlinUpgradeYarnLock always fails -
KT-53788
KJS / Gradle: Disable Gradle build cache for KotlinJsDce when development mode is enabled -
KT-53614
Kotlin/JS upgrade npm dependencies
Tools. Gradle. Multiplatform
New Features
-
KT-53396
Support 'implementation platform()' by gradle kotlin mpp plugin for JVM target -
KT-40489
MPP / Gradle: support BOM (enforcedPlatform) artifacts in source set dependencies DSL
Performance Improvements
-
KT-52726
[MPP] Optimize caching/performance/call-sites of 'compilationsBySourceSets'
Fixes
-
KT-54634
MPP: Test Failure causes:KotlinJvmTest$Executor$execute$1 does not define failure
-
KT-35916
Gradle MPP plugin: Configurations for a main compilation and its default source set have different naming -
KT-46960
Repeated kotlin/native external libraries in project -
KT-27292
MPP: jvm { withJava() }: Gradle build: Java source under Kotlin root is resolved while building, but does not produce output class files -
KT-34650
Naming clash in MPP+Android: androidTest vs androidAndroidTest -
KT-54387
Remove MPP alpha stability warning -
KT-31468
Targets disambiguation doesn't work if a depending multiplatform module useswithJava()
mode -
KT-54090
Take an Apple test device from the device list -
KT-54301
KotlinToolingVersionOrNull: IllegalArgumentException -
KT-53256
Implement K/N compiler downloading for KPM -
KT-45412
KotlinCompilation: Make sure .kotlinSourceSets and .allKotlinSourceSets include the default source set -
KT-49202
Tests on android target can't be executed in multiplatform project if dependency to kotlin-test framework is provided as a single dependency and tests configured to be executed via Junit5
Tools. Gradle. Native
New Features
-
KT-43293
Support Gradle configuration caching with Kotlin/Native -
KT-53107
Add arm64 support for watchOS targets (Xcode 14)
Fixes
-
KT-53704
Native cinterop: eager header path calculation -
KT-54814
Kotlin/Native: Github Actions: Testing watchOSX64 with Xcode 14 — Invalid device: Apple Watch Series 5 -
KT-54627
Native: :commonizeNativeDistribution with configuration cache enabled fails even when set to warn on JDK 17 -
KT-54339
Link tasks fail if Gradle Configuration Cache is enabled -
KT-53191
Native cinterop sync problem with gradle -
KT-54583
watchosDeviceArm64 target shouldn't register test tasks -
KT-52303
Gradle / Native: Build tasks ignore project.buildDir -
KT-54442
Gradle iOS test tasks fail if a device is not selected explicitly -
KT-54177
Gradle: DeprecateenableEndorsedLibs
flag -
KT-47355
Support macos target for FatFramework task -
KT-53339
MPP / CocoaPods: The static framework fails to install on a real iOS device -
KT-31573
Missing description for Native Gradle tasks -
KT-53131
Gradle Sync: "NoSuchElementException: Array contains no element matching the predicate" with CocoaPods -
KT-53686
Task assembleReleaseXCFramework fails with "error: the path does not point to a valid framework" if project name contains a dash
Tools. Incremental Compile
-
KT-54144
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline function with custom JvmName -
KT-53871
New IC: "IllegalStateException: The following LookupSymbols are not yet converted to ProgramSymbols" when changing an inline property accessor -
KT-19804
Relocatable IC caches
Tools. JPS
-
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation -
KT-54228
Switching abstract to sealed classes causes incremental issue -
KT-38483
JPS: Stopping compilation causes IDE CompilationCanceledException -
KT-50310
False positive NO_ELSE_IN_WHEN on incremental build when adding sealed classes -
KT-48813
Move cache version to compiler -
KTIJ-921
JPS: FileNotFoundException on project build in mixed Kotlin/Scala project
Tools. Kapt
-
KT-54187
JVM IR + kapt: incorrect modifierfinal
is generated for nested enum in interface -
KT-48827
Remove 'kapt.use.worker.api' property
Tools. Scripts
-
KT-54355
Scripts: Internal compiler error (languageVersion=1.9) -
KT-53009
Scripting: NDFDE “Descriptor wasn't found for declaration SCRIPT” on using script definition with kotlin from master
v1.7.22
This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.7.22.zip | 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83 |
kotlin-native-linux-x86_64-1.7.22.tar.gz | dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff |
kotlin-native-macos-x86_64-1.7.22.tar.gz | 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5 |
kotlin-native-macos-aarch64-1.7.22.tar.gz | 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e |
kotlin-native-windows-x86_64-1.7.22.zip | 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92 |
v1.7.21
Compiler
-
KT-54463
Delegating to a field with a platform type causes java.lang.NoSuchFieldError: value$delegate -
KT-54509
Ir Interpreter: unable to evaluate string concatenation with "this" as argument -
KT-54004
Builder type inference does not work correctly with variable assignment and breaks run-time -
KT-54393
Change in behavior from 1.7.10 to 1.7.20 for java field override. -
KT-54615
JVM: Internal error in file lowering: java.lang.AssertionError: Error occurred while optimizing an expression -
KT-54581
JVM: "VerifyError: Bad type on operand stack" with generic inline function andwhen
inside try-catch block -
KT-53146
JVM IR: unnecessary checkcast of null leads to NoClassDefFoundError if the type isn't available at runtime -
KT-54600
NPE on passing nullable Kotlin lambda as Java's generic SAM interface withsuper
type bound -
KT-54707
"VerifyError: Bad type on operand stack" in inline call chain on a nullable array value -
KT-54650
Binary incompatible ABI change in Kotlin 1.7.20 -
KT-54802
"VerifyError: Bad type on operand stack" for inline functions on arrays
Native. Runtime. Memory
-
KT-54498
Deprecation message of 'FreezingIsDeprecated' is not really helpful
Tools. Gradle. Multiplatform
-
KT-54387
Remove MPP alpha stability warning -
KT-48436
False positive "The Kotlin source set androidAndroidTestRelease was configured but not added to any Kotlin compilation"
Tools. JPS
-
KT-45474
False positive NO_ELSE_IN_WHEN on sealed class with incremental compilation
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.
Merge request reports
Activity
added 2 commits
added 2 commits
added 3 commits
-
578e4b41...e13aeb10 - 2 commits from branch
develop
- 28bd584b - chore(deps): update kotlin.version to v1.7.21
-
578e4b41...e13aeb10 - 2 commits from branch
added 1 commit
- 8f2526d9 - chore(deps): update kotlin.version to v1.7.22
added 2 commits
added 2 commits
added 2 commits
added 2 commits
added 1 commit
- f1886fdb - chore(deps): update kotlin.version to v1.8.0
added 3 commits
-
f1886fdb...52c052dd - 2 commits from branch
develop
- a60bb5da - chore(deps): update kotlin.version to v1.8.0
-
f1886fdb...52c052dd - 2 commits from branch
added 7 commits
-
a60bb5da...b4f7dccc - 6 commits from branch
develop
- 879e51b0 - chore(deps): update kotlin.version to v1.8.0
-
a60bb5da...b4f7dccc - 6 commits from branch
added 2 commits
added 2 commits
added 2 commits
added 1 commit
- 4befa0de - chore(deps): update kotlin.version to v1.8.10