Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v1.7.10
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| org.jetbrains.kotlin:kotlin-gradle-plugin (source) | dependencies | minor |
1.5.21 -> 1.7.10
|
Release Notes
JetBrains/kotlin
v1.7.10
Changelog
Compiler
-
KT-52702Invalid locals information when compilingkotlinx.collections.immutablewith Kotlin 1.7.0-RC2 -
KT-52892Disappeared specific builder inference resolution ambiguity errors -
KT-52782Appeared receiver type mismatch error due to ProperTypeInferenceConstraintsProcessing compiler feature -
KT-52718declaringClass deprecation message mentions the wrong replacement in 1.7
IDE. Configuration
-
KTIJ-21982Cannot run/build anything with Kotlin plugin since last update
Tools. Gradle
-
KT-52777'org.jetbrains.kotlinx:atomicfu:1.7.0' Gradle 7.0+ plugin variant was published with missing classes
Tools. Gradle. JS
-
KT-52856Kotlin/JS: Upgrade NPM dependencies
Tools. Gradle. Multiplatform
-
KT-52955SourceSetMetadataStorageForIde: Broken 'cleanupStaleEntries' with enabled configuration caching or isolated ClassLoaders -
KT-52694Kotlin 1.7.0 breaks Configuration Caching in Android projects
Tools. Incremental Compile
-
KT-52669Full rebuild in IC exception recovery leaves corrupt IC data
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.7.10.zip | 7683f5451ef308eb773a686ee7779a76a95ed8b143c69ac247937619d7ca3a09 |
| kotlin-native-linux-x86_64-1.7.10.tar.gz | b874373e87381b94c6a385178ea9594a5b4cfeb2fbae2bd89d3cb84c96bc3b96 |
| kotlin-native-macos-x86_64-1.7.10.tar.gz | 4e9470c25e0c6b3b79e86a59c7eca4d79c5a28ca515e80db93504535b2332a00 |
| kotlin-native-macos-aarch64-1.7.10.tar.gz | c02be577f541a5c73e1af75534006eea6e09cf67b3a886f323dae6f0406bcb3e |
| kotlin-native-windows-x86_64-1.7.10.zip | 52c64c754a23da3d554d89beb9cdc322ffcb19b8d6f1e812e849e597d282b99d |
v1.7.0
Analysis API. FIR
-
KT-50864Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign target -
KT-50252Analysis API: Implement FirModuleResolveStates for libraries -
KT-50862Analsysis API: do not create use site subsitution override symbols
Analysis API. FIR Low Level API
-
KT-50729Type bound is not fully resolved -
KT-50728Lazy resolve of extension function from 'kotlin' package breaks over unresolved type -
KT-50271Analysis API: get rid of using FirRefWithValidityCheck
Backend. Native. Debug
-
KT-50558K/N Debugger. Error is not displayed in variables view for catch block
Compiler
New Features
-
KT-26245Add ability to specify generic type parameters as not-null -
KT-45165Remove JVM target version 1.6 -
KT-27435Allow implementation by delegation to inlined value of inline class -
KT-47939Support method references to functional interface constructors -
KT-50775Support IR partial linkage in Kotlin/Native (disabled by default) -
KT-51737Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets -
KT-44249NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER with type usage in higher order function
Performance Improvements
-
KT-48233Switching to JVM IR backend increases compilation time by more than 15% -
KT-51699Kotlin/Native: runtime has no LTO in debug binaries -
KT-34466Use optimized switch over enum only when all entries are constant enum entry expressions -
KT-50861FIR: Combination of array set convention and plusAssign works exponentially -
KT-47171For loop doesn't avoid boxing with value class iterators (JVM) -
KT-29199'next' calls for iterators of merged primitive progressive values are not specialized -
KT-50585JVM IR: Array constructor loop should use IINC -
KT-22429Optimize 'for' loop code generation for reversed arrays -
KT-50074Performance regression in String-based 'when' with single equality clause -
KT-22334Compiler backend could generate smaller code for loops using range such as integer..array.size -1 -
KT-35272Unnecessary null check on unsafe cast after not-null assertion operator -
KT-27427Optimize nullable check introduced with 'as' cast
Fixes
-
KT-46762Finalize support for jspecify -
KT-51499@file:OptIn doesn't cover override methods -
KT-52037FIR: add error in 1.7.0 branch if run with non-compatible plugins -
KT-46756Release the K2/JVM compiler in Alpha -
KT-49715IR: "IllegalStateException: Function has no body: FUN name:toString" during IR lowering with shadowed extension inside interface -
KT-45508False negative ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED on a fake override with an abstract super class member -
KT-28078Report error "Public property exposes its private type" for primary constructor properties instead of warning -
KT-49017Forbid usages of super or super if in fact it accesses an abstract member -
KT-38078Prohibit calling methods from Any with "super" qualifier once they are overridden as abstract in superclass -
KT-52363Evaluate impact of qualifiedthisbehavior change warnings -
KT-52561JVM: Coroutine state machine loses value after a check-induced smart cast -
KT-52311java.lang.VerifyError: Bad type on operand stack -
KT-41124Inconsistency of exceptions at init block for an enum entry with and without a qualifier name -
KT-46860Make safe calls always nullable -
KT-52503New green code appeared at the callable reference resolution -
KT-51925Native: "IllegalStateException: Symbol for kotlinx.cinterop/CStructVar|null[0] is unbound" caused by inline function -
KT-49317"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter -
KT-51844New errors in overload resolution involving vararg extension methods -
KT-52006"java.lang.Throwable: Unbalanced tree Exception" on indexing kotlin project -
KT-51223Report warning about conflicting inherited members from deserialized dependencies -
KT-51439FE 1.0: implement type variance conflict deprecation on qualifier type arguments -
KT-51433FE 1.0: implement warnings about label resolve changes -
KT-51317Regression in resolution of lambdas where expected type has an extension receiver parameter -
KT-45935JVM IR: Add not-null assertion for explicit definitely not-null parameters -
KT-51818"ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutines -
KT-51718JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend function -
KT-51927Native:The symbol of unexpected type encountered during IR deserializationerror when multiple libraries have non-conflicting declarations with the same name -
KT-52394JVM: Missing annotation on method with value class return type when a subclass is present in the same file in Kotlin 1.7.0-Beta -
KT-51640FIR: remove warning about "far from being production ready" -
KT-45553FIR: support hiding declaration from star import by as import -
KT-52404Prolong deprecation cycle for errors at contravariant usages of star projected argument from Java -
KT-50734TYPE_MISMATCH: NonNull parameter with a type of Nullable type argument causes compiler warning -
KT-51235JVM / IR: "AbstractMethodError: Receiver class does not define or inherit an implementation of the resolved method" when property with inline class type is overridden to return Nothing? -
KT-48935NI: Multiple generic parameter type constraints are not applied as expected when the parameter is of function type -
KT-49661NI: No TYPE_INFERENCE_UPPER_BOUND_VIOLATED when argument is inferred by return type -
KT-50877Inconsistent flexible type -
KT-51988"NPE: getContainingDeclaration…lDeclarationType.REGULAR) must not be null" when using @BuilderInference with multiple type arguments -
KT-48890Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations." -
KT-52035FIR: add error in 1.7.0 branch if run on JS / Native configuration -
KT-45461NI: False negative TYPE_INFERENCE_UPPER_BOUND_VIOLATED when passing an argument to a function with generic constraints -
KT-52146JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projection -
KT-50730Implement error for a super class constructor call on a function interface in supertypes list -
KT-52040JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0" -
KT-50845Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken cases -
KT-51979"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override -
KT-51759FIR DFA: false positive "Variable must be initialized" -
KT-50378Unresolved reference for method in Jsoup library in a kts script file -
KT-34919"Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract class -
KT-51893Duplicated [OVERRIDE_DEMRECATION] on overridden properties -
KT-41034K2: Change evaluation semantics for combination of safe calls and convention operators -
KT-51843Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags -
KT-51914False positive RETURN_TYPE_MISMATCH in intellij ultimate -
KT-51711Compiler warning is displayed in case there is 'if' else branch used with elvis -
KT-33517Kotlin ScriptEngine does not respect async code when using bindings -
KT-51850FIR cannot resolve ambiguity with different SinceKotlin/DeprecatedSinceKotlin -
KT-44705Deprecate using non-exhaustive if's and when's in rhs of elvis -
KT-44510FIR DFA: smartcast after elvis with escaping lambda -
KT-44879FIR DFA: Trackincanddecoperator calls in preliminary loop visitor -
KT-51758FIR: explicit API mode errors should not be reported for effectively internal / private entities -
KT-51203FIR: Inconsistent RETURN_TYPE_MISMATCH and TYPE_MISMATCH reporting on functions and properties -
KT-51624FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved types -
KT-51204FIR IC: Incremental compilation fails on nested crossinline -
KT-51798Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signature -
KT-46187FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plus -
KT-51761Incorrect NONE_APPLICABLE in expect class -
KT-51756FIR: false positive NO_VALUE_FOR_PARAMETER in expect class delegated constructor call -
KT-49778Support cast to DefinitelyNotNull type in Native -
KT-51441-Xpartial-linkage option specified in Gradle build script is not passed to Native linker -
KT-34515NI: "AssertionError: Base expression was not processed: POSTFIX_EXMRESSION" with double not-null assertion to brackets -
KT-48546PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy block -
KT-28109"AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operator -
KT-46136Unsubstituted return type inferred for a function returning anonymous object upcast to supertype -
KT-51364FIR: ambiguity due to String constructors clash -
KT-51621FIR: visible VS invisible qualifier conflict -
KT-50468FIR compilers fails with CCE when meets top-level destruction -
KT-51557Inline stack frame is not shown for default inline lambda -
KT-51358OptIn: show default warning/error message in case of empty message argument -
KT-44152FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binaries -
KT-50949PSI2IR: NSEE fromArgumentsGenerationUtilsKt.createFunctionForSuspendConversionwith providing lambda as argument with suspend type -
KT-39256ArrayStoreException with list of anonymous objects with inferred types created in reified extension function -
KT-39883Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loops -
KT-36952Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check) -
KT-51233AssertionError in JavaLikeCounterLoopBuilder with Compose -
KT-51254Verify Error on passing null to type parameter extending inline class -
KT-50996[FIR] Support Int -> Long conversion for property initializers -
KT-51000[FIR] Support Int -> Long? conversion -
KT-51003[FIR] Consider Int -> Long conversion if expected type is type variable -
KT-51018[FIR] Wrong type inference if one of constraints is integer literal -
KT-51446Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabled -
KT-50973Redundant line number mapping for finally block with JVM IR -
KT-51272Incompatible types: KClass and callable reference Collection::class -
KT-51274"Expected some types" exception on when branch for when expression of erroneous type -
KT-51229FIR: private constructor of internal data class treated as internal and not private -
KT-50750[FIR] Report UNSUPPORTED on array literals not from annotation classes -
KT-51200False EXPOSED_PARAMETER_TYPE for internal type parameter of internal type -
KT-49804False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCH -
KT-51121Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10) -
KT-50136FIR: syntax error on (T & Any) -
KT-49465FIR2IR: support definitely not-null types -
KT-51357FIR: error in inference while using integer literal in expected Long position -
KT-49925[FIR] Incorrect builder inference (different cases) -
KT-50542"IllegalStateException: Type parameter descriptor is not initialized: T declared in sort" with definitely non-null type Any & T in generic constraint -
KT-51171FIR: classErrorresolution problem -
KT-51156Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constant -
KT-51017[FIR] Ambiguity on callable reference between two functions on generic receiver with different bounds -
KT-51007[FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another module -
KT-50998[FIR] Int.inv() cal does not considered as compile time call -
KT-51009[FIR] Incorrect inference of lambda in position of return -
KT-50997[FIR] Incorrect type of typealias for suspend functional type -
KT-49714Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type alias -
KT-48623Type nullability enhancement improvements -
KT-44623"IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with something -
KT-46000JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with Compose -
KT-50211Annotation Instantiation with default arguments in Native -
KT-49412Controversial "type argument is not within its bounds" reported by FIR -
KT-48044[FIR] Investigate behavior ofUPPER_BOUND_VIOLATEDon complex cases -
KT-37975Don't show deprecation of enum class itself for its own member -
KT-50737Inheritance from SuspendFunction leads to compiler crash -
KT-50723Implement a fix of reporting of uninitialized parameter in default values of parameters -
KT-50749Implement UNSUPPORTED reporting on array literals inside objects in annotation classes -
KT-50753Implement reporting errors on cycles in annotation parameter types -
KT-50758Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier name -
KT-50182CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message forconstin object expression -
KT-50183Fix missing apostrophe escapes in compiler error messages -
KT-50788FIR: false unsafe call on not-null generic -
KT-50785FIR: inconsistent smart cast after comparison with true -
KT-50858[FIR LL] FIR in low level mode creates multiple symbols for same declaration -
KT-50822Analysis API: make declaration transformers machinery to be a thread safe -
KT-50972FIR doesn't report VAL_REASSIGNMENT on synthetic properties -
KT-50969FIR: diamond inheritance with different parameter types depends on a supertype order -
KT-50875FIR: no smart cast after reassignment with elvis -
KT-50835Inline functions with suspend lambdas break the tail-call optimization -
KT-49485JVM / IR: StackOverflowError with long when-expression conditions -
KT-35684NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial code -
KT-50776FIR: ambiguity between Sequence.forEach and Iterable.forEach -
KT-48908Error for annotation on parameter type could have distinct ID and message referring 1.6 -
KT-48907SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6 -
KT-50774FIR2IR: NSEE in case of lambda in enum entry constructor call -
KT-49016Drop QUALIFIED_SUPERTYPE_EXTENDED_BY_OTHER_SUPERTYPE diagnostic -
KT-34338Parameterless main causes duplicate JVM signature error -
KT-50577JVM_IR: No NPE when casting uninitialized value of non-null type to non-null type -
KT-50476JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default method -
KT-50257JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayList -
KT-50470FIR: inapplicable candidate in delegate inference due to nullability -
KT-32744Inefficient compilation of null-safe call (extra null checks, unreachable code)
Docs & Examples
-
KT-52032Document performance optimizations of the Kotlin/JVM compiler in 1.7.0 -
KT-49424Update KEEP for OptIn
IDE
Fixes
-
KTIJ-21735Exception when opening a project -
KTIJ-17414UAST: Synthetic enum methods have null return values -
KTIJ-17444UAST: Synthetic enum methods are missing nullness annotations -
KTIJ-19043UElement#comments is empty for a Kotlin property with a getter -
KTIJ-10031IDE fails to suggest a project declaration import if the name clashes with internal declaration with implicit import from stdlib (ex. @Serializable) -
KTIJ-21515Load JVM target 1.6 as 1.8 in Maven projects -
KTIJ-21151Exception about wrong read access from "Java overriding methods searcher" with Kotlin overrides -
KTIJ-20736NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.idea.roots.KotlinNonJvmOrderEnumerationHandler. Kotlin plugin 1.7 fails to start -
KT-50111Resolving into KtUltraLightMethod -
KTIJ-21063IDE highlighting: False positive error "Context receivers should be enabled explicitly" -
KTIJ-20810NoClassDefFoundError: org/jetbrains/kotlin/idea/util/SafeAnalyzeKt errors in 1.7.0-master-212 kotlin plugin on project open -
KTIJ-19088KotlinUFunctionCallExpression.resolve() returns null for calls to @JvmSynthetic functions -
KTIJ-17869KotlinUFunctionCallExpression.resolve() returns null for instantiations of local classes with default constructors -
KTIJ-21061UObjectLiteralExpression.getExpressionType() returns the base class type for Kotlin object literals instead of the anonymous class type -
KTIJ-20200UAST: @Deprecated(level=HIDDEN) constructors are not returning UMethod.isConstructor=true -
KTIJ-19624NoDescriptorForDeclarationException on iosTest.kt.vm
IDE. Code Style, Formatting
-
KTIJ-20554Introduce some code style for definitely non-null types
IDE. Completion
-
KTIJ-14740Multiplatform declaration actualised in an intermediate source set is shown twice in a completion popup called in the source set
IDE. Debugger
-
KTIJ-20815MPP Debugger: Evaluation of expect function for the project with intermediate source set may fail with java.lang.NoSuchMethodError
IDE. Decompiler, Indexing, Stubs
-
KTIJ-21472"java.lang.IllegalStateException: Could not read file" exception on indexing invalid class file -
KTIJ-20802Definitely Not-Null types: "UpToDateStubIndexMismatch: PSI and index do not match" plugin error when trying to use library function with T&Any -
KT-51248Function and parameter names with special symbols have to backticked
IDE. FIR
-
KTIJ-20443FIR IDE: Work in Dumb mode -
KTIJ-21374FIR IDE: Incorrect highlighting for operators -
KTIJ-21013FIR IDE: Inconsistent smartcasts highlighting -
KTIJ-21343FIR IDE: Navigation from explicit invoke call does not work -
KTIJ-20852FIR IDE: Exception when checkingisInheritoron two classes in different modules -
KTIJ-21021FIR IDE: Completion of extension function does not work on nullable receiver -
KTIJ-20637FIR IDE: Strange exception while commenting-uncommenting FirReferenceResolveHelper.kt -
KTIJ-20971FIR IDE: "Parameter Info" shows parameters of uncallable methods
IDE. Gradle Integration
-
KTIJ-21807Gradle to IDEA import: language and API version settings are not imported for Native facet -
KTIJ-21692Kotlin Import Test maintenance: 1.7.0-Beta -
KTIJ-20567Kotlin/JS: Gradle import into IDEA creates no proper sub-modules, source sets, facets
IDE. Hints. Inlay
-
KTIJ-20552Support definitely non-null types in inlay hints
IDE. Inspections and Intentions
New Features
-
KTIJ-18979Quickfix for INTEGER_OPERATOR_RESOLVE_WILL_CHANGE to add explicit conversion call -
KTIJ-19950Provide quickfixes forINVALID_IF_AS_EXMRESSION_WARNINGandNO_ELSE_IN_WHEN_WARNING -
KTIJ-19866Create quick-fix for effective visibility error on private-in-file interface exposing private class -
KTIJ-19939Provide quickfix for deprecated confusing expressions in when branches
Fixes
-
KTIJ-20705Register quickfix forNO_CONSTRUCTOR_WARNINGdiagnostic -
KTIJ-21226"Remove else branch" quick fix is not suggested -
KTIJ-20981Definitely non-null types: quick-fixes suggested incorrectly for LV=1.6 when Xenhance-type-parameter-types-to-def-not-null flag is set -
KTIJ-20953Add quickfix for OVERRIDE_DEMRECATION warning to 1.7 - 1.9 migration -
KTIJ-20734Replace with [@JvmInline] value quick fix should be appliable on a whole project -
KTIJ-21420Add 'else' branch quick fix suggestion is displayed twice in case 'if' isn't completed -
KTIJ-21192"Make protected" intention is redundant for interface properties -
KTIJ-18120"Make public" intention does not add explicit "public" modifier when using ExplicitApi Strict mode -
KTIJ-20493"Create expect" quick fix doesn't warn about platform-specific annotations
IDE. Misc
-
KTIJ-21582Notification for Kotlin EAP survey
IDE. Multiplatform
-
KT-49523Improve environment setup experience for KMM projects -
KT-50952MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
IDE. Native
-
KT-44329Improve UX of using Native libraries in Kotlin -
KTIJ-21602With Native Debugging Support plugin Gradle run configurations can't be executed from IDEA: LLDB_NATVIS_RENDERERS_ENABLED
IDE. Wizards
-
KTIJ-20919Update ktor-html-builder dependency in kotlin wizards -
KTIJ-20962Wizard: Invalid Ktor imports
JavaScript
New Features
-
KT-51735KJS / IR: Minimize member names in production mode
Performance Improvements
-
KT-51127Kotlin/JS - IR generates plenty of uselessUnit_getInstance() -
KT-50212KJS IR: Upcast should be a no-op -
KT-16974JS: Kotlin.charArrayOf is suboptimal due to Rhino bugs
Fixes
-
KT-44319JS IR BE: Add an ability to generate separate JS files for each module -
KT-52518Kotlin/JS IR: project with 1.6.21 fails to consume library built with 1.7.0-RC: ISE "Unexpected IrType kind: KIND_NOT_SET" at IrDeclarationDeserializer.deserializeIrTypeData() -
KT-52010K/JS IR: both flows execute when using elvis operator -
KT-41096KJS IR: @JsExport should use original js name for external declarations -
KT-52144KJS / IR: Missing property definitions for interfaced defined properties -
KT-52252KJS / IR: overridden properties are undefined/null -
KT-51973KJS / IR overridden properties of inherited interface missing -
KT-51125Provide a way to useimportkeyword injsexpressions -
KT-40888KJS / IR: Missing methods are no longer generated (polyfills) -
KT-50504KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields -
KT-51853JS compilation fails with "Uninitialized fast cache info" error -
KT-51205K/JS IR: external class is mapped to any -
KT-50806Typescript definitions contain invalid nested block comments with generic parent and type argument without@JsExport -
KT-51841KJS / IR: No flat hash for FUN FAKE_OVERRIDE with kotlin.incremental.js.ir=true -
KT-51081KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compiler -
KT-51084KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifier -
KT-51211K/JS IR: JsExport: Can't export nested enum -
KT-51438KJS / IR: Duplicated import names for the same external names -
KT-51238Kotlin/JS: IR + IC: build fails after clean oncompileTestDevelopmentExecutableKotlinJstask: "Failed to create MD5 hash for file '.../build/classes/kotlin/main' as it does not exist" -
KT-50674KJS / IR: JS code cannot modify local variable -
KT-50953KJS IR: Incorrect nested commenting in d.ts -
KT-15223JS: function that overrides external function withvarargparameter is translated incorrectly -
KT-50657KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long.
Language Design
New Features
-
KT-45618Stabilize builder inference -
KT-30485Underscore operator for type arguments -
KT-49006Support at least three previous versions of language/API -
KT-16768Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type) -
KT-14663Support having a "public" and a "private" type for the same property -
KT-50477Functional conversion does not work on suspending functions -
KT-32162Allow generics for inline classes
Fixes
-
KT-12380Support sealed (exhaustive) whens -
KT-27750Reverse reservation of 'yield' as keyword -
KT-22956Release OptIn annotations -
KT-44866Change behavior of private constructors of sealed classes -
KT-49110Prohibit access to members of companion of enum class from initializers of entries of this enum -
KT-29405Switch default JVM target version to 1.8
Libraries
New Features
-
KT-50484Extensions for java.util.Optional in stdlib -
KT-50146Reintroduce min/max(By/With) operations on collections with non-nullable return type -
KT-46132Specialized default time source with non-allocating time marks -
KT-41890Support named capture groups in Regex on Native -
KT-48179Introduce API to retrieve the number of CPUs the runtime has
Performance Improvements
-
KT-42178Range and Progression should override last()
Fixes
-
KT-42436Supportjava.nio.Pathextension in the standard library -
KT-51470Stabilize experimental API for 1.7 -
KT-51775JS: Support named capture groups in Regex -
KT-51776Native: Support back references to groups with multi-digit index -
KT-51082Introduce Enum.declaringJavaClass property -
KT-51848Promote deepRecursiveFunction to stable API -
KT-48924KJS:toStringin base 36 produces different results in JS compare to JVM -
KT-50742Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 target -
KT-50059Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifier -
KT-26678Rename buildSequence/buildIterator to sequence/iterator
Native
-
KT-49406Kotlin/Native: generate standalone executable for androidNative targets by default -
KT-48595Enable Native embeddable compiler jar in Gradle plugin by default -
KT-51377Native: synthetic forward declarations are preferred over commonized definitions -
KT-49145Kotlin/Native static library compilation fails for androidNative* -
KT-49496Gradle (or the KMM plugin) is caching the Xcode Command Line Tools location -
KT-49247gradle --offline should translate into airplaneMode for kotin-native compiler
Native. Build Infrastructure
-
KT-52259kotlin-native releases from GitHub don't contain platform libs
Native. C and ObjC Import
-
KT-49455Methods from Swift extensions are not resolved in Kotlin shared module -
KT-50648Incorrect KMM cinterop conversion
Native. ObjC Export
-
KT-50982RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loading -
KT-49937Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is used
Native. Platforms
-
KT-52232Kotlin/Native: simplify toolchain dependency override for MinGW
Native. Runtime
-
KT-52365Kotlin/Native fails to compile projects for 32-bit targets when new memory manager is enabled
Native. Runtime. Memory
-
KT-48537Kotlin/Native: improve GC triggers in the new MM. -
KT-50713Kotlin/Native: Enable Concurrent Sweep GC by default
Native. Stdlib
-
KT-50312enhancement: kotlin native -- add alloc<TVarOf>(T)
Native. Testing
-
KT-50316Kotlin/Native: Produce a list of available tests alongside the final artifact -
KT-50139Create tests for Enter/Leave frame optimization
Reflection
-
KT-27598"KotlinReflectionInternalError" when usingcallByon constructor that has inline class parameters -
KT-31141IllegalArgumentException when reflectively accessing nullable property of inline class type
Tools. CLI
-
KT-52409Report error when use-k2 with Multiplatform -
KT-51717IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabled -
KT-52217Rename 'useFir' to 'useK2' -
KT-29974Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK version -
KT-51673Make language version description not in capital letters -
KT-48833-Xsuppress-version-warnings allows to suppress errors about unsupported versions -
KT-51627kotlinc fails withjava.lang.RuntimeExceptionif/tmp/build.txtfile exists on the disk -
KT-51306Support reading language settings from an environment variable and overriding the current settings by them -
KT-51093"-Xopt-in=..." command line argument no longer works
Tools. Commonizer
-
KT-43309Overwrite return type and parameter types of callable member to succeed commonization -
KT-52050[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hosts -
KT-51224MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumber -
KT-51215MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumber -
KT-51686Cinterop: Overload resolution ambiguity in 1.6.20-RC2 -
KT-46636HMPP: missed classes fromplatform.posix.* -
KT-51332Optimistic number commonization is disabled by default in KGP with enabled HMPP
Tools. Compiler Plugins
-
KT-50992jvm-abi-gen breaks inline functions in inline classes with private constructors in Kotlin 1.6.20
Tools. Daemon
-
KT-32885KT. Kotlin daemon compilation process is broken: java.lang.IllegalStateException Service is dying at entities generation by Kotlin.kts script
Tools. Gradle
New Features
-
KT-49227Support Gradle plugins variants -
KT-50869Provide API that allow AGP to set up Kotlin compilation -
KT-48008Consider offering a KotlinBasePlugin -
KT-52030Provide experimental possibility to view internal information about Kotlin Compiler performance
Performance Improvements
-
KT-52141Optimize Java class snapshotting for thekotlin.incremental.useClasspathSnapshotfeature -
KT-51978Optimize classpath snapshot cache for thekotlin.incremental.useClasspathSnapshotfeature -
KT-51326Kotlin-gradle-plugin performance issue with mass java SourceRoots
Fixes
-
KT-52448Compilation tasks are missing input/output/internal annotations on includes/excludes properties -
KT-52239Type based task configuration-blocks for JVM stopped working in Gradle -
KT-52313No recompilation in Gradle after adding or removing function parameters, removing functions (and maybe more) in dependent modules -
KT-51854Add Ktor to gradle performance benchmark -
KT-52086Rename flag 'use-fir' to 'use-k2' -
KT-52509Main variant published to Gradle plugin portal uses unshadowed artifact -
KT-52392Gradle: 1.7.0 does not support custom gradle build configuration on Windows OS -
KT-32805KotlinCompile inherits properties sourceCompatibility and targetCompatibility which breaks Gradle's incremental compilation -
KT-52189Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler task -
KT-51415Confusing build failure reason is displayed in case kapt is used and different JDKs are used for compileKotlin and compileJava tasks -
KT-52187New IC can not be enabled in an Android project using kapt -
KT-51898Upgrading Kotlin/Kotlin Gradle plugin to 1.5.3 and above breaks 'com.android.asset-pack' plugin -
KT-51913Gradle plugin should not add attributes to the legacy configurations -
KT-34862Restoring from build cache breaks Kotlin incremental compilation -
KT-45777New IC in Gradle -
KT-51360Show performance difference in percent between releases -
KT-51380Add open-source project using Kotlin/JS plugin to build regression benchmarks -
KT-51937Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATE -
KT-48276Remove kotlin2js and kotlin-dce-plugin -
KT-52138KSP could not access internal methods/properties in Kotlin Gradle Plugin -
KT-51342Set minimal supported Android Gradle plugin version to 3.6.4 -
KT-50494Remove kotlin.experimental.coroutines Gradle DSL option -
KT-49733Bump minimal supported Gradle version to 6.7.1 -
KT-48831Remove 'KotlinGradleSubplugin' -
KT-47924Remove annoying cast in toolchain extension method for Kotlin DSL -
KT-46541Fail Gradle builds when deprecated kotlinOptions.jdkHome is set -
KT-51830Gradle: deprecatekotlin.compiler.execution.strategysystem property -
KT-47763Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUse -
KT-51374NoSuchFileException in getOrCreateSessionFlagFile() -
KT-51837kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6. -
KT-51454KotlinJvmTest is not a cacheable task -
KT-45745Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CI -
KT-47318Remove deprecated 'kotlinPluginVersion' property in `KotlinBasePluginWrapper' -
KT-51378Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpath -
KT-46038Gradle:kotlin_modulefiles are corrupted in the KotlinCompile output, and gets cached -
KT-51064Kotlin gradle build hangs on MetricsContainer.flush -
KT-48779Gradle: Could not connect to kotlin daemon
Tools. Gradle. Cocoapods
-
KT-50622Cocoapods Plugin: cocoapods-generate does not work correctly with ruby 3.0.0 and higher -
KT-51861Custom binary name in CocoaPods plugin isn't respected by fatFramework task
Tools. Gradle. JS
-
KT-52221Kotlin/JS: failed Node tests are not reported in a standard way -
KT-51895K/JS: Redundant technical messages during JS tests -
KT-51414Allow set up environment variables for JS tests -
KT-51623Kotlin/JS: Mocha could not failed when external module not found -
KT-51503Update NPM dependency versions
Tools. Gradle. Multiplatform
New Features
-
KT-51386[KPM] IdeaKotlinProjectModelBuilder: Implement dependencies
Fixes
-
KT-49524Improve DSL for managing Kotlin/Native binary output -
KT-51765com.android.lint in multiplatform project without android target should not trigger warning -
KT-38456MPP with Android source set: allTests task does not execute Android unit tests -
KT-44227Common tests are not launched on local JVM for Android via allTests task in a multiplatform project -
KT-51946Temporarily mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 -
KT-52140Support extensibility Kotlin Artifacts DSL by external gradle plugins -
KT-51947Mark HMPP tasks as notCompatibleWithConfigurationCache for Gradle 7.4 using Reflection -
KT-50925Could not resolve all files for configuration ':metadataCompileClasspath' -
KT-51262[KPM] IDEA import: Move model builder to KGP -
KT-51220[KPM][Android] Implement generic data storage and import pipeline -
KT-48649No run task generated for macosArm64 target in Gradle plugin
Tools. Gradle. Native
-
KT-47746Allow customization of the Kotlin/Native compiler download url -
KT-51884Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when buildingassembleFooXCFrameworktask on Linux
Tools. Incremental Compile
-
KT-51546FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI" -
KT-49780IncrementalCompilerRunner bug: Outputs are deleted after successful rebuild following fallback from an exception -
KT-44741Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant
Tools. JPS
-
KTIJ-17280JPS: don't use java.io.File.createTempFile as it is not working sometimes -
KTIJ-20954NPE at at org.jetbrains.kotlin.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver on compiling by JPS with LV > 1.7
Tools. Kapt
-
KT-49533Make kapt work out of the box with latest JDKs -
KT-52284FIR: add error in 1.7.0 branch if run with Kapt -
KT-51463KAPT: Incremental compilation not working when rerunning unit tests -
KT-51132KAPT: Support reporting the number of generated files by each annotation processor -
KT-30172Kapt: Shutdown kotlinc gracefully in case of error in annotation processor
Tools. Scripts
-
KT-49173Add support for nullable types in provided properties and other configuration-defined declarations -
KT-52294[Scripting] Update oudated org.eclipse.aether dependencies to new org.apache.maven.resolver -
KT-51213Kotlin JSR223 crashes with "ScriptException: ERROR java.lang.NullPointerException:" if bindings contain one or more null values -
KT-48812Script: "IllegalStateException: unknown classifier kind SCRIPT" when passing a function reference to a Flow -
KT-50902Scripts loaded from the compilation cache ignore theloadDependencieseval configuration property -
KT-52186Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a function -
KT-51731Script: jsr223 memory leak in spring-boot Fat Jar -
KT-49258Scripts: method 'void ()' not found with multiple evals using kotlin script JSR223 -
KT-51346Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside class
v1.6.21
Changelog
Compiler
-
KT-51979"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface override -
KT-51893Duplicated [OVERRIDE_DEMRECATION] on overridden properties -
KT-51927Native:The symbol of unexpected type encountered during IR deserializationerror when multiple libraries have non-conflicting declarations with the same name -
KT-51843Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flags -
KT-51672JVM IR: Inline class mangling issue in interface default methods split across multiple modules -
KT-51711Compiler warning is displayed in case there is 'if' else branch used with elvis -
KT-49317"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameter
IDE. Native
-
KTIJ-20819Native debugging support: "Debug is impossible without lldb binaries required by Kotlin/Native" on "Attach to process"
JavaScript
-
KT-52010K/JS IR: both flows execute when using elvis operator -
KT-51973KJS / IR overridden properties of inherited interface missing -
KT-50504KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fields
Tools. Gradle
-
KT-51837kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.
Tools. Gradle. Multiplatform
-
KT-51810MPP / Gradle: Dependency locking fails with 1.6.20 -
KT-51765com.android.lint in multiplatform project without android target should not trigger warning
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.21.zip | 632166fed89f3f430482f5aa07f2e20b923b72ef688c8f5a7df3aa1502c6d8ba |
| kotlin-native-linux-x86_64-1.6.21.tar.gz | 14e7b9bee2e9ef7bff9a69881fef44d287bbb3adaa05396e0c03e77dfc9b0d3d |
| kotlin-native-macos-x86_64-1.6.21.tar.gz | 61dfee00b11f3c27e349854b9a9d530ed86a882e6c8a81f77f16acecf9660eeb |
| kotlin-native-macos-aarch64-1.6.21.tar.gz | c2734c651e680b85805c17488f31125220d96eca8e3ba89b5b58f07c61ff5239 |
| kotlin-native-windows-x86_64-1.6.21.zip | db8560138580038c23e88a7ceb6eb4e8a3ec7d7fd66218e82096d52402f280a8 |
v1.6.20
Changelog
Compiler
New Features
-
KT-48217Add an annotation JvmDefaultWithCompatibility to allow generating DefaultImpls classes if -Xjvm-default=all option is used -
KT-49929[FIR] Support programmatic creation of annotation class instances -
KT-49276Warn about potential overload resolution change if Range/Progression starts implementing Collection -
KT-47902Do not propagate method deprecation through overrides -
KT-49857Require Xcode 13 for building Kotlin/Native compiler -
KT-47701Support instantiation of annotation classes on Native -
KT-46085Support experimental parallel compilation of a single module in the JVM backend -
KT-46603Generate SAM-conversions to Java interfaces extending 'java.io.Serializable' as serializable using java.lang.invoke.LambdaMetafactory
Performance Improvements
-
KT-50156HMPP: Slow frontend/ide performance in OKIO (ExpectActualDeclarationChecker) -
KT-50073Performance regression in adapted function references -
KT-50076Performance regression in super call to an interface member in $DefaultImpls -
KT-50080Performance regression in string template with generic property with primitive upper bound -
KT-50084Performance regression in concatenation with 'String?' -
KT-50078Performance regression in for-in-array loop -
KT-50039Performance regression in inner class constructor call with default parameters -
KT-48784An anonymous class has fields for variables that are only used in the constructor -
KT-42010Generate IINC instruction for postfix increment in JVM_IR -
KT-48433JVM_IR don't generate null check on 'this$0' parameter of inner class constructor -
KT-48435JVM_IR ConstForLoopBenchmark performance regression -
KT-48507JVM_IR ForLoopBenchmark regressions -
KT-48640Performance regression in 'longDownToLoop' benchmarks -
KT-29822Generate specialized bytecode for loops withIndex over unsigned arrays -
KT-48669Generate optimizable counter loop for loops over indices of unsigned arrays -
KT-49444Possible performance degradation with UInt downTo loop -
KT-48944Possible performance regression with comparison of local KFunctions -
KT-17111Eliminate redundant store/load instructions when the value stored is simple -
KT-36837Generate more compact code for for-in-range loop in JVM_IR -
KT-48947JVM / IR Possible performance regression with string templates -
KT-48931JVM / IR: Performance degradation with string concatenation -
KT-36654Generate more compact bytecode for safe call in JVM_IR
Fixes
-
KT-24643Prohibit using a type parameter declared for an extension property inside delegate -
KT-51747MakeKtCallableDeclaration.getContextReceiversdefault to preserve compatibility -
KT-49658NI: False negative TYPE_MISMATCH on nullable type withwhen -
KT-43493NI: @BuilderInference prevents compilation error of "Operator '==' cannot be applied to 'Long' and 'Int'" -
KT-51649Kotlin/Native: reduce binary size of watchosArm32 and iosArm32 targets by limiting inlining of runtime functions -
KT-48626JVM IR: incorrect behavior for captured for-loop parameter since 1.6.20-dev-723 -
KT-51036JVM / IR: "NullPointerException: Parameter specified as non-null is null" with synchronized and companion object -
KT-51471Native: incorrect debug information when inheriting suspend fun invoke implementation -
KT-51352"ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receivers -
KT-51271"ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context function -
KT-47084JVM IR: "AssertionError: inconsistent parent function for CLASS LAMBDA_IMPL" with tailrec function default parameter nested inline lambda -
KT-30616Script: "Don't know how to generate outer expression" for top-level variable reference from static context (companion object, enum) -
KT-50520"NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder -
KT-51353IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK -
KT-48945JVM IR: special bridge forgetis not generated in a Map subclass -
KT-48499Interface call with an inline/value parameter generates AbstractMethodError after rebuilding the module, but NOT the file. -
KT-49998JVM: missing default value for annotation parameter of an unsigned type -
KT-49793JVM:IncompatibleClassChangeError: Expected non-static fieldwhen property delegation uses receiver of another delegated property -
KT-51302Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformer -
KT-51148"AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parameters -
KT-50970Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targets -
KT-50843Kotlin/Native: LLVM constant merge pass does not work for Kotlin constants -
KT-51157JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameter -
KT-50498Exception after analysing an erroneous lambda -
KT-50258equals()returnsfalseon the same enum instances if we check it for the second time inwhen -
KT-51062Progressions resolve changing warning isn't reported for Java methods -
KT-48544JVM / IR: "UnsupportedOperationException: Unknown structure of ADAPTER_FOR_CALLABLE_REFERENCE" with callable reference::arrayOf -
KT-50978[Native] Error while building static cache: NoSuchElementException at IrTypeInlineClassesSupport.getInlinedClassUnderlyingType(InlineClasses.kt:341) -
KT-50977[Native] Error while building static cache: IllegalStateException: Class CLASS ENUM_ENTRY is not found at KonanIrlinkerKt.findClass(KonanIrlinker.kt:229) -
KT-50976[Native] Error while building static cache: IllegalStateException: No descriptor found at DescriptorByIdSignatureFinder.findDescriptorForPublicSignature(DescriptorByIdSignatureFinder.kt:157) -
KT-51040Type inference fails on 1.6: "Cannot use 'CapturedType(*)' as reified type parameter" with EnumSet and elvis operator -
KT-51080Line number in mapping for the first instruction is lost -
KT-49526JVM IR: Function reference with non-denotable intersection type argument is not inlined and is incorrectly approximated -
KT-50399Error: unexpected variance in super type argument: out@0 -
KT-50649JVM IR: ClassCastException when returning Result as generic type -
KT-50617JVM IR: java.lang.IndexOutOfBoundsException "Empty list doesn't contain element at index 0" when class and interface have the same name and extension function is used -
KT-50856SAM conversion generates invalid bytecode for generics -
KT-45693False negative INCOMPATIBLE_TYPES withwhenwith generic subject -
KT-49903JVM IR: InlineOnly optimization leads to behavior change for println with mutating System.out -
KT-51022Fix error messages for resolution ambiguity with stub types -
KT-51035PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression:" caused by recursive call of java function -
KT-50797Implement fix for false negative UPPER_BOUND_VIOLATED with generic typealias using not all type parameters as arguments for underlying type -
KT-50878Usage of contextual declarations from third-party library is allowed without-Xcontext-receivers -
KT-49829Wrong "cast can never succeed" diagnostic with builder inference -
KT-49828Improve builder inference diagnostics with overload resolution ambiguity -
KT-50989CCE cause by EmptySubstitutor in ResolutionWithStubTypesChecker -
KT-49729Implement deprecation warning for private constructors of sealed classes -
KT-49349Implement deprecation for invalid if as expression in rhs of elvis -
KT-46285[SEALED_SUPERTYPE_IN_LOCAL_CLASS] Error message isn't adopted to local objects and sealed interfaces -
KT-49002Allow OptIn marker on override if base class has the same marker -
KT-48899Report warnings on overrides with wrong types nullability -
KT-49461Implement prohibitation of access to members of companion of enum class from initializers of entries of this enum -
KT-49754Kotlin/JS:@JsExporton enum class reports NON_EXPORTABLE_TYPE warning -
KT-49598Misleading error message "Using @JvmRecord is only allowed with -jvm-target 15 and -Xjvm-enable-preview flag enabled" -
KT-44133Inline classes: class literal in annotation arguments uses underlying type -
KT-47703ClassCastException: Programmatically created annotation can't hold Array<KClass<*>> -
KT-47549JVM / IR: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER CONTINUATION_CLASS caused by suspend function inside "fun interface" in another file -
KT-50120HMPP: False positive [NO_VALUE_FOR_PARAMETER] for expect function usages -
KT-49864JVM IR: NoSuchMethodError calling default interface method with inline class return type in -Xjvm-default=all mode -
KT-49812JVM / IR: "java.lang.VerifyError: Bad return type" when using Result type attribute + extension function with same name -
KT-49936Extension property in a data class with the same name as the constructor parameter leads to incorrect component function being resolved and generated -
KT-48181"ISE: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER" on creating instance of kotlin.Metadata -
KT-50215VerifyError caused by missing cast after is check in when -
KT-49977"Parameter specified as non-null is null" when inline class implements interface method with default parameters -
KT-50385DUPLICATE_LABEL_IN_WHEN is reported on incorrect branches -
KT-49092JVM: ArrayIndexOutOfBoundsException on compiling call withifexpression and TODO() arguments -
KT-48987JVM / IR: Smartcast, which never succeed, crashes the compiler -
KT-50277Invalid bytecode generated for inline lambda in suspend function -
KT-50219FIR DFA/CFA: no smart cast after null check and assignment -
KT-44561FIR DFA: extract non-null info from comparison against variable with initial constant value -
KT-44560FIR DFA: propagate non-null info to original variables in not-null assertion or cast expression -
KT-50278FIR: accidental resolve to inaccessible value parameter -
KT-47483JVM IR: "NoSuchElementException: Sequence contains no element matching the predicate" on compiling Array instantiation with TODO -
KT-50304EXC_BAD_ACCESS at IntrinsicsNative.kt starting coroutine on object with suspend fun as supertype -
KT-49765JVM: ClassCastException when trying to add object to EmptyList -
KT-46879"AssertionError: Stack should be spilled before suspension call" with Flow and reified type -
KT-50172"AssertionError: Not a callable reflection type" on local function reference with the same name as local variable -
KT-49443JVM IR, Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" with constructor call of class that has a top-level extension function call -
KT-50193Garbage collection is not working the same way after jvm-ir-backend change -
KT-19424Compilation exception for script with property delegate calling operator invoke on an object -
KT-43995Script: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" if companion object initializer calls method on list -
KT-47000Allow graceful migration to -Xjvm-default=all-compatibility by allowing to inherit from interfaces even in the old (-Xjvm-default=disable) mode -
KT-50180FIR: not enough information to infer type variable for definitely not null type -
KT-50163FIR: ISE unsupported compile-time value BLOCK on complex annotations -
KT-50171JVM IR: "UninitializedPropertyAccessException: Parent not initialized: IrVariableImpl" on SAM-converted property setter reference with Double parameter inside lambda -
KT-50140Internal error on explicit string concatenation of generic type value with 'String' upper bound -
KT-49992Anonymous object should not have access to private members from supertypes -
KT-49973Check existing of default error message for all diagnostics -
KT-50019Property delegated to callable reference: "ISE: Local class should have its name computed in InventNamesForLocalClasses" with -Xno-optimized-callable-references -
KT-49645JVM / IR: "IllegalStateException: Local class should have its name computed" caused by default suspend function in interface and value class -
KT-50028Incorrect implicit casts from Unit -
KT-49615JVM / IR: "Exception during IR lowering" with list of value classes with non-trivial constructor inside suspend lambda -
KT-49127FIR: smart cast is not performed after comparison -
KT-48708Incorrect cast from Unit to Int -
KT-48376FIR: False positive UNITIALIZED_VARIABLE after try/finally with return from try -
KT-48113FIR: (false) positive EQUALITY_NOT_APPLICABLE for intersection with platform type -
KT-48305FIR: incorrect raw type cast -
KT-48378FIR: synthetic accessor lowering should not attempt to modify other files -
KT-48634FIR: false property-setter-function resolve cycle -
KT-48621FIR: SyntheticAccessorLowering should not attempt to modify other files for protected JvmField -
KT-48381Invalid LLVM module: verification failure of createInlineClassInArgumentPosition.kt -
KT-48527Native: top-level properties in files with@Testfunctions are initialized eagerly even if lazy initialization is enabled -
KT-48559IllegalArgumentException: Unexpected super type argument: *@ 0during IR lowering -
KT-48687IR dump mismatch after deep copy with symbols in IR text test -
KT-44811[FIR] Exception in body resolve of new contracts -
KT-48363FIR behaves differently in case of resolution between classifier and top-level property -
KT-48801"AssertionError: Stack should be spilled before suspension call" with Flow and crossinline -
KT-46389JVM / IR: "ClassCastException: class IrGetValueImpl cannot be cast to class IrConst" with inheritance of supertypes member functions with similar signatures -
KT-47797Regression during migration to 1.6 in compiler -
KT-47987Can't infer a postponed type variable based on callable reference receiver type -
KT-48446"IllegalStateException: IrErrorType (getErasedUpperBound)" caused by suspend function reference -
KT-48651Collect intermediate annotations during type expanding -
KT-48754JVM IR: in EnclosingMethod leads to IncompatibleClassChangeError on Android 5.0 -
KT-45034Use the new type inference for top-level callable references -
KT-49001OptIn marker should spread from class to its members, taking into account real dispatch receiver type -
KT-49038Generics are discriminated during callable references resolution (false negative) -
KT-48954JVM IR: IllegalAccessError when using Java method reference in constructor -
KT-48284JVM / IR: "IllegalStateException: Function has no body: FUN STATIC_INLINE_CLASS_REPLACEMENT" caused by inline member toString of value class and string interpolation -
KT-49053JVM / IR: "AssertionError: Unbound symbols not allowed" on inheriting a protected Java method that returns a package private class from a differently-named file -
KT-49106JVM: infinite recursion with overridden default suspend interface method where override calls super -
KT-45345FIR DFA:FirDataFlowAnalyzerseems to add wrong type constraints for type parameters -
KT-44513FIR DFA: extract non-null info from x?.y!! -
KT-44559FIR DFA: propagate non-null info from not-null assertion (!!) -
KT-49073FIR: REDUNDANT_MODIFIER and DEMRECATED_MODIFIER_PAIR should be warnings -
KT-46371FIR: Investigate FunctionType -> ExtensionFunctionType coercion -
KT-49078FIR: false positive TYPE_VARIANCE_CONFLICT -
KT-47135FIR: local class references does not compile -
KT-48600NON_TAIL_RECURSIVE_CALL missing for calls inside lambda -
KT-48602NON_TAIL_RECURSIVE_CALL missing for calls with explicit dispatch receiver to a singleton -
KT-48982JVM / IR: KotlinNothingValueException caused by function with local object -
KT-49087FIR: false positive REPEATED_ANNOTATION -
KT-48648JVM IR: "AssertionError: Should be primitive or nullable primitive type" with @JvmField generic property with Number upper bound -
KT-49069FIR: False positive INAPPLICABLE_JVM_NAME on getter -
KT-49203JVM IR: "AssertionError: Unbound symbols not allowed" with lateinit var andplusAssignoperator convention call -
KT-48993JVM / IR: "IllegalStateException: Validation failed in file <multi-file facade ...>" using @JvmMultifileClass and one of the symbols in the file exposes a @JvmInline value class -
KT-48938FIR: Investigate how priorities should work in case SAM-conversion + type parameters -
KT-49129FIR: false positive of INNER_CLASS_OF_GENERIC_THROWABLE_SUBCLASS -
KT-49076FIR: false positive "An annotation argument must be compile-time constant" on array of imports -
KT-49222FIR: StackOverflow in MethodSignatureMapper -
KT-49083FIR erroneously requires default value parameters for override calls when imported from object -
KT-49135FIR: ambiguity between type alias and function -
KT-49134FIR makes no difference between lambda with empty parameter list and without explicit parameter list -
KT-49301FIR: Unresolved reference: for object inherited from inner class -
KT-49070FIR: ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED with type parameter / class conflict -
KT-49133FIR: protected java.lang.Throwable constructor is not available -
KT-49407JVM / IR: "java.lang.VerifyError: Bad local variable type" with "Int.mod" inside "Long.mod" and non-trivial argument -
KT-44975SUBCLASS_CANT_CALL_COMPANION_MROTECTED_NON_STATIC: confusing error message -
KT-38698MANY_INTERFACES_MEMBER_NOT_IMPLEMENTED error message: interface is called a "class" -
KT-45001Confusing warning message "This class can only be used with the compiler argument" for@OptInannotation -
KT-49411JVM / IR: NullPointerException during IR lowering with@JvmFieldproperty in loop range -
KT-49260FIR: make FirBasedSymbol hierarchy to correspond FirDeclaration hierarchy -
KT-49289FIR: false positive "return required" for if/else with inlined return in branch -
KT-49316JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by unreachable code which try to modifyvalfrom the other package -
KT-45915NoDescriptorForDeclarationException: Descriptor wasn't found for declaration FUN with circular module dependencies in JPS -
KT-49288FIR2IR: consider generating all fake override calls properly -
KT-42784FIR2IR: first create fake overrides, then bind overridden to them -
KT-48816Kotlin/Native Symbol for public platform.darwin/NSObject|null[100] is unbound -
KT-49372JVM / IR: Incorrect work of the loop optimization for mutable variable -
KT-49356Native: UnsupportedOperationException: RETURNABLE_BLOCK caused by nested return with boxing and inline -
KT-49659JVM IR: Missing value class mangling in SAM wrappers for fun interfaces from different modules -
KT-47101Incorrect scope for supertypes in companion objects -
KT-49360Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location" -
KT-48430JVM: ClassCastException with inline class as generic argument for type parameter used in a function type -
KT-49575IllegalArgumentException: Unhandled intrinsic in ExpressionCodegen with circular module dependencies in JPS -
KT-47669IR inliner doesn't handle inner class functions referring outer this -
KT-48668JVM IR: "ISE: Value at CLASS must not be null for CLASS" for modules with a dependency cycle -
KT-49370JVM / IR: "java.lang.VerifyError: Bad local variable type" with "fun Long.mod" and non-trivial argument -
KT-46744Memory Leaks in Kotlin daemon -
KT-48806False-negative USED_AS_EXMRESSION for unreachable catch clauses -
KT-45972FIR: type is incorrectly resolved to private -
KT-46968Remove FirCompositeScope from type resolve -
KT-49072FIR: accidental resolve to private-in-file type -
KT-34822FIR scopes: deal with nested / inner classes and type parameter priority -
KT-49702Exception from RENDER_WHEN_MISSING_CASES diagnostic on malformed sealed class inheritor -
KT-49860[FIR] Add smartcast expression to syntheticsubjaccess -
KT-49836Inference fails on lambda and adjacent function expressions with receiver -
KT-49832Inference fails on lambda for function types with extension parameter -
KT-44022Excessive diagnostics range for DECLARATION_CANT_BE_INLINED -
KT-48690VERSION_REQUIREMENT_DEMRECATION_ERROR message: use current compiler version instead of language version -
KT-49609Incorrect grammar in DATA_CLASS_NOT_MROPERTY_PARAMETER error message -
KT-49600Misspelled error message for non-constructor properties with backing fields in @JvmRecord class -
KT-49339Warn about synchronizing on value classes -
KT-49950Compilation failed: An operation is not implemented: IrBasedTypeParameterDescriptor -
KT-43604Problem with initialization order -
KT-23890Default arguments are not transferred from expect generic member functions -
KT-48811Expect/actual class with default constructor argument values can not be instantiated from a shared source set without passing arguments (with HMPP enabled) -
KT-48106FIR: incorrect type inference in provideDelegate receiver -
KT-48325Safe call operator prevents object from being garbage collected before leaving function -
KT-50004Linking kotlinx.serialization crashes on Native and JS IR backends -
KT-49311Missing FIR checker for unresolved references in import statement -
KT-48104FIR does not see NotNull/Nullable annotations on type arguments -
KT-46812[FIR] Make FIR diagnostics not related to Diagnostics from FE 1.0 -
KT-37374[FIR] AddCheckInfixModifierresolution stage -
KT-38351FIR: SupportCheckOperatorModifierresolution stage -
KT-39614[FIR] Fix building CFG for different candidates of plus assign call -
KT-40197[FIR] Strange Behaviour of Type Arguments -
KT-40362[FIR] Match type arguments with type parameters of corresponding qualifier -
KT-40375FIR: No transformation implicit type -> error type for function value parameters -
KT-40585[FIR] Incorrect type for 1/1.0 -
KT-42525[FIR] Incorrect IR produced for java.lang.Byte.MAX_VALUE -
KT-43359FIR: Check applicability type for callable reference with unbound receiver -
KT-43378FIR: Support or prohibit via call checker callable references to member extensions -
KT-43289FIR: Correctly load irrelevant override for special built-ins -
KT-44558Annotation arguments const expr support is missing in FIR -
KT-45223[FIR] Ambiguity between explicit and syntheticremoveAt -
KT-42215FIR: callable reference resolution with type constraints at call-sites -
KT-45520FIR: NONE_APPLICABLE for unsafe call to function with overloads instead of UNSAFE_CALL -
KT-46410[FIR] Transform of FirAugmentedArraySetCall leaves erroneous nodes in control flow graph -
KT-46421FIR: Investigate builder-inference cases -
KT-43948FIR: hidden unresolved callable reference -
KT-46558FIR DFA: run once contract is not considered when analyzing lambda -
KT-47125FIR: Do not avoid trivial constraints if they aren't from upper bounds -
KT-43691FIR: false positive VARIABLE_INITIALIZER_IS_REDUNDANT with usage in try...finally -
KT-37311[FIR] Support inference of callable references with type variable as expected type -
KT-31972Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@1f5b38c2(ErrorType). -
KT-48761Report NO_TAIL_CALLS_FOUND on 'tailrec' modifier, not on the whole function header -
KT-47647NI: Function reference to Java static method can't compile if passed directly as KFunction1 parameter -
KT-46995Fix setters implicit types only resolved on full body resolve -
KT-46359Kotlin 1.5 lambda is not Java-serializable by default -
KT-49282FIR: suspend conversion does not work inside suspend lambda -
KT-48953FIR: implement diagnostic DELEGATE_USES_EXTENSION_MROPERTY_TYPE_PARAMETER -
KT-38813FIR: Report INSTANCE_ACCESS_BEFORE_SUPER_CALL diagnostic on receiver usages in secondary constructors headers -
KT-49657FIR: accidental override with get:JvmName -
KT-49655FIR: smart cast is not performed after update of var to not-null value in branch
Docs & Examples
-
KT-50866[Docs] [Kotlin/Native] Support non-NativeActivity Android executables -
KT-50220[Docs] [Kotlin/JVM] New @JvmDefaultWithCompatibility annotation and changes in -Xjvm-default arguments behavior -
KT-50844[Docs][K/JS] KJS / IR: Installation of NPM dependencies should be with ignore-scripts -
KT-50831[Docs][K/JS] Gradle, JS: Ability to persist / reuse yarn.lock -
KT-51086[Docs] [Build Tools] Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask` -
KT-50563[Docs] [Build Tools] Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property -
KT-50580[Docs] [Kotlin/Native] Support instantiation of annotation classes on Native -
KT-50874[Docs] [Language] Add ability to specify generic type parameters as not-null -
KT-50564[Docs] [K/JS] Ensure that @AfterTest is invoked after the@Testfunction completes for asynchronous tests
IDE
New Features
-
KTIJ-20169Link to What's new in a notification about new Kotlin version
Performance Improvements
-
KTIJ-20568Optimize SubpackagesIndexService#hasSubpackages
Fixes
-
KTIJ-13020New compiler settings are applied only after the project is reloaded -
KTIJ-21154StackOverflowError on Companion.extractPotentiallyFixableTypesForExpectedType that causes "Syntax highlighting has been temporarily turned off" -
KTIJ-20129Load "@NotNullT" types from libraries as definitely non-nullable if any module in project loads such types as definitely non-nullable -
KTIJ-9793UAST: KotlinAbstractUElement.equals fails for psi-less elements -
KTIJ-16203UAST: Annotating assignment expression sometimes leads to UnknownKotlinExpression -
KTIJ-18720UAST:@Deprecated(level=DeprecationLevel.HIDDEN)makes method visibility be dropped -
KTIJ-18039@Deprecated(level=HIDDEN)elements return false for isDeprecated() -
KTIJ-18716KotlinUMethodWithFakeLightDelegate.hasAnnotation() doesn't find annotations -
KTIJ-20220Kotlin plugin crashes very often -
KTIJ-20308Syntax highlighting is temporary suspended for file ... due to internal error -
KTIJ-6085ExceptionIncorrect CachedValue...with KtUltraLightMethodForSourceDeclaration -
KTIJ-18977Do not show warningOutdated bundled kotlin compilerif there are no compatible plugin with newer compiler -
KTIJ-20253Consider supporting special highlighting for definitely non-null types -
KT-42194OOME: Java heap space from incremental compilation -
KTIJ-13019"Add '-Xopt-in=kotlin.io.path.ExperimentalPathApi' to module untitled1 compiler arguments" only works until the project is reloaded
IDE. Completion
-
KTIJ-20095Optimize FilterOutKotlinSourceFilesScope#contains -
KTIJ-16250Completion of override with return type annotated with TYPE_USE-targeted annotation suggests two duplicate entries
IDE. Debugger
-
KTIJ-20716JVM Debugger in common code can't get JVM-specific view on common code and fails -
KTIJ-18562JVM debugger: coroutineContext.job causes "Failed to generate expression: KtNameReferenceExpression" -
KTIJ-20019MPP Debugger: NSFE “Field not found” on accessing property with explicit getter from common code in Evaluate expression/Watcher -
KTIJ-19990MPP Debugger: Evaluate expression for some stdlib in common source set fails with Method threw 'java.lang.ClassNotFoundException' exception. -
KTIJ-20929MPP Debugger: in a project with single JVM target evaluation of expect function fails with 'NoSuchMethodError' exception in common context -
KTIJ-20956Debugger: coroutine debugger fails to load sometimes -
KTIJ-20775MPP Debugger: Evaluate expression for actual typealiases in jvm source set fails with Method threw 'java.lang.ClassNotFoundException' exception. -
KTIJ-20712MPP Debugger: evaluator fails when evaluating expect function -
KTIJ-19344K/N debugger shows all types as ObjHeader in variable view.
IDE. Gradle Integration
-
KTIJ-20097HMPP+Android Project that depends on pure Android Lib fails to import in IDEA -
KTIJ-20756MPP targeting Android and JVM reports 'The feature "multi platform projects" is experimental and should be enabled explicitly' -
KTIJ-20745Gradle: NSEE “Key main is missing in the map.” on project import in AS 212 + Kotlin 1.6.20 -
KT-47570MPP, IDE: kotlin-test-common leaks into dependencies of platform-specific source sets -
KTIJ-19541IDE: Kotlin Facets aren't created for Gradle projects added viaincludeBuild -
KT-48882MPP IDE import: Failing cinterop Gradle tasks shall not fail import -
KTIJ-18135MPP, IDE: False positive "No value passed for parameter" in CommonTest when expect declaration has default value and actual does not
IDE. Inspections and Intentions
New Features
-
KTIJ-12437Add inspection to detect redundant (obsolete, unused)@OptInannotations -
KTIJ-15780Add quickfix for migration of Experimental -> RequiresOptIn -
KTIJ-18865Provide quick fixes for OptIn markers on forbidden targets -
KTIJ-18439Make suggestions for applying opt-in quickfixes more distinct -
KTIJ-19985Provide quickfix for SAFE_CALL_WILL_CHANGE_NULLABILITY diagnostic
Fixes
-
KTIJ-20550False positives in "Unnecessary@OptInannotation" inspection -
KTIJ-20993Quick-fix for NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS leads to unreachable code -
KTIJ-20557Quick fix to addAnyas an upper bound for type parameter to make it non-nullable -
KTIJ-20827Process type mismatch compiler warnings to provide a corresponding quick fix -
KTIJ-12578"Make abstract" quick fix for missing abstract members implementations could warn of potentially broken inheritance -
KTIJ-20425Quick fix to replace@NotNullparameter typeTwith a definitely non-nullable typeT & Any -
KTIJ-19997Inspection "Possibly blocking call in non-blocking context could lead to thread starvation" suggests "Wrap call in 'withContext'" resulting in red code -
KTIJ-18291Quickfix "Add@OptIn()annotation" adds the annotation to primary constructor when invoked on primary constructor parameter -
KTIJ-19512Implement IDE support for new rules of deprecation inheritance -
KTIJ-20156Exception when applying 'Convert to with' -
KTIJ-20290Forbid "move to constructor" intention if class contains secondary constructor -
KTIJ-20288Forbid "move to constructor" intention for actual classes with actual constructor -
KT-49736Introduce import alias fails when qualifier is unresolved -
KTIJ-18743"Redundant nullable return type" applied onactualmethod doesn't change the signature ofexpect -
KTIJ-12343Inspection "Sealed sub-class has no state and no overridden equals" is applied incorrectly to expect/actual declarations of sealed classes with nested subclasses -
KTIJ-19406The "Add@OptIn(...)" quick fix does not shorten the annotation when adding an argument to the existing annotation -
KTIJ-12351generate equals & hashCode() by identityintention generates incompilable code for multiplatform project modules -
KTIJ-13227Forbid "move property to constructor" for actual classes with actual constructor having at least one parameter already -
KTIJ-11328No quick fixes are suggested for annotation from experimental API used with file target -
KTIJ-14427Meta-annotation value isn't updated for all the corresponding parts of a multiplatform annotation -
KTIJ-19735NSME org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix on IJ212 + Kotlin master
IDE. Navigation
-
KTIJ-18145IDE freeze on 'Show Usage'
IDE. Refactorings. Extract Function
-
KTIJ-10026Refactor / Extract function: Adds unnecessary nullability annotations for parameters coming fromNotNullorNullableJava methods -
KTIJ-15823Refactor / Extract Function: resulted declaration gets no@OptInfrom original function when necessary
IDE. Refactorings. Move
-
KTIJ-5661[Tests] MoveRefactoring: Fix ignored incorrect tests of crossmodule declaration moving
IDE. Wizards
-
KTIJ-19232New project wizard: delete MPP Mobile-Library and Application templates -
KTIJ-20878Unable to create project with Kotlin Project Wizard when JDK 17 is used. -
KTIJ-20244Compose MPP project from wizard requires minCompileSdk=31 -
KTIJ-20781Update kotlin-wrappers version in wizard
JS. Tools
-
KT-47387KJS: Support Apple Silicon for node distrib download
JavaScript
New Features
-
KT-44494KJS / IR: Allow enum classes to be exported -
KT-43224KJS: Allow using inline classes in external types -
KT-35100Make Char inline class in K/JS -
KT-42936KJS IR: Support js-code test directives similar to legacy -
KT-47525KJS / IR: Support protected members in d.ts generation -
KT-50110KJS / IR: Enable properties lazy initialization by default
Performance Improvements
-
KT-46443KJS / IR: ImproveCharArrayandCharperformance -
KT-45665KJS / IR:equalson inline value classes is boxed -
KT-43644KJS / IR: Avoid creating lambda classes
Fixes
-
KT-51685KJS / IR: TypeError: collection.iterator_jk1svi_k$ regression in Kotlin 1.6.20-RC2 -
KT-51523KJS IR: "Uncaught TypeError: a._get_length__2347802853_w7ahp7_k$ is not a function" -
KT-51700KJS / IR: Compiler uses wrong function with List -
KT-51222KJS / IR: "RangeError: Maximum call stack size exceeded": Default function overloads marked with @JsExport are broken -
KT-45054KJS: Export secondary constructors as class static methods -
KT-37916KJS: .d.ts generation not working for enum classes -
KT-48199KJS / IR: Improve error message for linkage problems -
KT-51030KJS / IR: internal class that implements public interface is missing getters -
KT-45434KJS: "WRONG_EXPORTED_DECLARATION" when usingJsExporton interfaces -
KT-50934KJS / IR: Re-export all JS-exports from the main module for the multi-module mode -
KT-45620KJS / IR: Remainder of division ofInt.MIN_VALUEby -1 is negative zero (-0) -
KT-44981KJS / IR crashes onkotlin.js.jscalls with complex constexpr -
KT-41964KJS IR: Reference to local variable and parameter from js fun could be broken unexpectedly -
KT-50682Kotlin/JS: IR + IC: TypeError "Cannot read properties of undefined" when properties from different sources refer one another in initializers -
KT-50175Kotlin/JS, IR: with incremental compilation top level properties initialization is not lazy -
KT-40236KJS: IR. Invalid override for external field with@JsName -
KT-46525KJS / IR: Generate context-dependent names for lambdas and object expressions -
KT-49779KJS / IR: Exported abstract class implementing interface not export interfaces member in d.ts -
KT-49773KJS / IR: Exported enum implementing interface -
KT-41912KJS / IR: generates invalid defineProperty methods for class hierarchies -
KT-46225KJS IR: tailrec function with capturing lambda in default parameter value leads to UninitializedPropertyAccessException at compile time -
KT-50528Kotlin/JS: IR + IC: TypeError: "combined.get_icpjjy_k$ is not a function" for code callingGlobalScope.launch {} -
KT-50512KJS / IR: IC failed with const val in inline fun -
KT-49738Ensure that @AfterTest is invoked after the@Testfunction completes for asynchronous tests -
KT-45542KJS / IR: "IllegalStateException" for method with default argument in expect class -
KT-50464KJS IR: Functions with optional parameters and stable names are exported without@JsExport -
KT-43374KJS / IR: "class org.jetbrains.kotlin.js.backend.ast.JsIf cannot be cast to class org.jetbrains.kotlin.js.backend.ast.JsExpressionStatement" caused byif-elseexpression insidewhen -
KT-20791ushr Behavior differs in Javascript and Java targets -
KT-49844KJS / IR: "IllegalStateException: IrSimpleFunctionSymbolImpl is already bound" with callable reference -
KT-46961KJS / IR: "IllegalStateException: Can't find name for declaration" when external object contains enum class -
KT-43191KJS / IR: static companion field is not static in d.ts -
KT-39891[KJS / IR] String interpolation and byte shift round Long value -
KT-50040JS IR: "Function must be an accessor of corresponding property" exception on private properties with getter in an exported class -
KT-49878Kotlin/JS, IR: incremental compilation fails with CCE: "class StageController cannot be cast to class WholeWorldStageController" -
KT-46202KJS / IR: "IllegalStateException" on exported value class -
KT-42039KJS / IR: JsQualifier annotation can cause conflicts with built-in functions -
KT-39364KJS: Can't export sealed class/object with subclasses inside the body to typescript definition -
KT-47360KJS / IR:js()function with string val -
KT-47376KJS / IR: Incorrectd.tsgeneration for sealed classes -
KT-47767KJS / IR: "IllegalStateException" with inline function with several lambda invocation declared through typealias -
KT-47342KJS / IR: "StackOverflowError" onInlinerTypeRemapper.remapTypeArguments -
KT-46218KJS / IR: Incorrect result for localtailrecfunction called from capturing inline lambda -
KT-45056KJS / IR: Inconsistentordinalproperty value for enum classes -
KT-47096KJS / IR:Console.logintroduces spaces between each character -
KT-47516KJS / IR: Wrong behavior when trying to access property in enum entry -
KT-47806KJS / IR: "IllegalStateException" with invocation of extension function with generic and lambda parameter onString.Companion -
KT-49225KJS: Default value for value class parameter is not considered -
KT-49326KJS / IR: Overridden properties should not be exported -
KT-49363KJS / IR: Nested declarations inside exported object are not exported -
KT-49300KJS: Source map generator leaks source files descriptors when source embedding is enabled -
KT-40525KJS IR: investigate issues with using kotlin-wrappers -
KT-50197KJS IR: using APIs in different packages but with same method name generates clashes -
KT-45958KJS: Line breaks are missing injsfiles after If-expression -
KT-40213KJS: fix and "unmute" cases from .../nonReifiedTypeParameters/ "muted" while fixing KT-38771 -
KT-50152Kotlin/JS: with incremental compilation browserRun / nodeRun produce no output -
KT-50315Kotlin/JS: building project with some dependencies fails: IAE: "Duplicate definition" -
KT-50203JS IR BE: new IC for lowerings -
KT-43250KJS / IR: "Can't find name for declaration FUN" with Json#encodeToString as function reference -
KT-46992KJS / IR: Incorrect boxing of inline classes returned by crossinline suspend lambdas -
KT-49776KJS / IR: inliner doesn't handle inner class functions referring outer this -
KT-49849KJS / IR: Access of exported member properties should be by its stable name -
KT-49850KJS / IR: Member properties in exported class should be getter/setter in d.ts
Language Design
-
KT-19423Script: reference from class to script top-level member is incompilable -
KT-21197Support cross platform common implementations -
KT-42435Prototype multiple receivers -
KT-48385Deprecate confusing grammar in when-with-subject -
KT-49542FIR: Smart cast may lead to inconsistent inference result -
KT-23727Internal declarations from other module in star imports should have lower priority than public declarations from default imports -
KT-50251Support language version 1.3 in Kotlin 1.6.20 -
KT-17765Ambiguity between SAM adapters when one SAM interface is sub type of another -
KT-10926False overload resolution ambiguity when both vararg and collection match -
KT-41214JDK 17: Emit PermittedSubclasses attribute when compiling sealed classes
Libraries
-
KT-44089Java version checking doesn't work on Android -
KT-50033Some packages of kotlin-stdlib with public API are not exported in module-info -
KT-48367Usingsynchronizedon captured object leads to slow JVM execution -
KT-49721KJS: Regex("\b").findAll yields infinite sequence when a zero length match is found before a surrogate pair (e.g. emoji)
Native
New Features
-
KT-49463--dry-run flag for llvm_builder/package.py
Fixes
-
KT-51359Native: the compiler doesn't work on macOS 12.3 Beta -
KT-49144Kotlin/Native executable early segmentation fault -
KT-49348KONAN_NO_64BIT_ATOMIC does not guard Kotlin_AtomicLong_addAndGet -
KT-42500KLIB: K/N compiler cannot link with a library with incorrect symbol in the name or the path -
KT-49395K/N: After 1.5.20, compiling code includingKSuspendFunction3to framework leads to "Assertion failed at parametersAssociated" -
KT-49967Kotlin iOS regex issue -
KT-49873Native does not sort Strings correctly -
KT-49347androidNativeArm32 binaries crash when using atomic operations -
KT-49597Kotlin/Native: Exporting the Arrow library into the framework causes StackOverflowError in the Devirtualization phase -
KT-49790"Undefined symbols" error when linking project with kotest 5.0.0.RC and Kotlin 1.6
Native. Build Infrastructure
-
KT-48625Native: distribution doesn't contain sources for kotlin.test
Native. C Export
-
KT-47828Kotlin/Native: Kotlin exception is not filtered out on interop border when producing a dynamic library with compiler caches enabled
Native. C and ObjC Import
-
KT-35059Better "could not build module" cinterop report -
KT-49768Kotlin/Native: Add -Xoverride-konan-properties to cinterop.
Native. ObjC Export
-
KT-47399Kotlin Native - Objective-C with Swift 5.5 Async Function Needs Returning KotlinUnit -
KT-48282Kotlin sealed class roots and abstract classes within sealed hierarchies have their constructors exposed to Objective-C/Swift -
KT-46866Memory consumption / performance of Kotlin classes with String property in KMP project on iOS Swift
Native. Platform Libraries
-
KT-50045Kotlin/Native: Re-enable disabled Hypervisor framework -
KT-47331Kotlin/Native: support Xcode 13 SDKs
Native. Platforms
-
KT-48078Native: Support non-NativeActivity Android executables
Native. Runtime
-
KT-48424Support resolving source locations using libbacktrace -
KT-51586SIGSEGV on worker7 test -
KT-50491Kotlin/Native: Deadlock in the Ktor server tests with the new memory manager
Native. Runtime. Memory
-
KT-50879Kotlin/Native: Stabilize Concurrent Sweep GC -
KT-50948Kotlin/Native: Concurrent Sweep GC hangs on Windows in GCStateHolder::waitEpochFinished/waitScheduled -
KT-49497iOS Swift "runtime assert: Must be positive" and "runtime assert: cycle collector shall only work with single object containers" -
KT-50026Kotlin/Native: Make AtomicReference behave like FreezableAtomicReference with the new MM -
KT-49013Kotlin/Native: Correctly switch thread state to native for spin locks
Native. Testing
-
KT-48561Test sideEffectInTopLevelInitializerMultiModule fails with new MM
Reflection
-
KT-50198Reflection: NPE fromkotlin.jvm.internal.Intrinsics.areEqualwith Spock
Tools. Android Extensions
-
KT-50784kotlin-android-extensions produces unbound symbol under_$_findViewCache -
KT-50627NullPointerException when using kotlin-android-extensions synthetic after updating Kotlin to 1.6.10 -
KT-50887kotlin-android-extensions plugin breaks whenpackageattribute missing from AndroidManifest.xml
Tools. CLI
-
KT-51309Add JVM target bytecode version 18 -
KT-48027"Module ... cannot be found in the module graph" with module-info in META-INF/versions -
KT-50695Compiling into IR backends with language version 1.3 is not rejected -
KT-46329Deprecated-Xjvm-defaultvalues are not reported -
KT-51025JVM CLI compiler takes class file from classpath instead of input java source file -
KT-50889AnalysisHandlerExtension multiple round execution is broken on Kotlin/MultiPlatform withexpectActualLinker=trueflag -
KT-48417CLI: boolean -X arguments accept a value after '=' which is ignored -
KT-11164Allow running class files with '.class' extension in 'kotlin' script -
KT-46171NoClassDefFoundError produced when running kotlin script
Tools. Commonizer
-
KT-48568[Commonizer] timespec properties are not commonized in kotlinx.coroutines -
KT-46257MPP: Stdlib included more than once for an enabled hierarchical commonization -
KT-49735[Commonizer] :commonizeNativeDistribution fails for projects with two or more same native targets -
KT-48856MPP: Unable to resolve c-interop dependency for test compilation in an intermediate source set with the only platform -
KT-48288[Commonizer] platform.posix.timespec.tv_sec not commonized in OKIO -
KT-47574[Commonizer] TypeAliasTypeCommonization: Properly substitute underlying type arguments -
KT-48221MPP: Too few targets specified if platform test source set depends on main -
KT-47100[Commonizer] Commonize underlying type-alias types
Tools. Compiler Plugins
-
KT-50718Unable to serialize an object with a generic field -
KT-50764Kotlin 1.6.10 custom serializers for a generic type receive the unit serializer on jvm -
KT-46444JVM IR, serialization: "AssertionError: No such value argument slot in IrConstructorCallImpl: 0" with KSerializer of ClosedRange
Tools. Daemon
-
KT-47522Provide reasonable resolution strategy for OutOfMemoryError during compilation -
KT-51116OOM user-friendly message isn't displayed if there is main exception caused by out of memory
Tools. Gradle
New Features
-
KT-48620Add build information into Gradle build scan -
KT-41689Support statistics for Configuration Cache -
KT-49299Add more flexible way for defining Kotlin compiler execution strategy -
KT-21056Kotlin Gradle Plugin tasks execution should be parallelized by default
Performance Improvements
-
KT-50664Compile speed regression going from Kotlin 1.5.31 to 1.6.10 for incremental changes when Java class in a dependent child module w/ kapt is modified w/o a method/class signature change -
KT-48884Configuration performance regression in Kotlin Gradle plugin 1.5.30 -
KT-49782Improve compilation task outputs snapshot performance
Fixes
-
KT-51501Gradle: 'java.lang.NoClassDefFoundError: com/gradle/scan/plugin/BuildScanExtension' on 1.6.0-RC when applying Enterprise Plugin from initscript -
KT-51588Restoring from build cache breaks Kotlin incremental compilation -
KT-50620Gradle Kotlin Plugin crashes in CI due to hostname resolving issue -
KT-49921Setup basic release performance regression tests -
KT-51177After updating from KGP 1.5.30 to 1.6.10, KotlinCompile is non-incremental given an Android resource change -
KT-48134Debug log level causes build cache miss -
KT-50719Kotlin Gradle Plugin may hang on writing statistics -
KT-48849Cache miss due to empty directories inKotlinCompileinputs -
KT-49014Disable Explicit API is not possible -
KT-48408Build may fail with strict JVM target validation mode when project has no Kotlin sources -
KT-49107Configuration cache: undeclared kotlin.caching.enabled system property read -
KT-50369Deprecate kotlin.experimental.coroutines Gradle DSL option and kotlin.coroutines property -
KT-48046Gradle Throws Exception From Kotlin Plugin:destinationDir must not be null -
KT-50037Kotlin compile task registers more than one task action and their order of execution is counter-intuitive -
KT-49772Kotlin in-process compilation does not release file handles -
KT-47215KJS: "UninitializedPropertyAccessException: lateinit property fileHasher has not been initialized" when runningkotlinNpmInstallorrootPackageJsonlocally -
KT-46406Remove 'kotlin.parallel.tasks.in.project' build property
Tools. Gradle. JS
Performance Improvements
-
KT-49037KJS / Gradle: Configuration cache usage on large projects lead to high memory consumption by Gradle daemon
Fixes
-
KT-51060KJS / IR: Incorrect order of libraries with IC -
KT-49061KJS / Gradle: Custom package.json handlers break configuration cache -
KT-35640Kotlin/JS: Gradle: DCEdevMode = truesetting has no effect on incremental build -
KT-49095KJS / Gradle: KotlinJsTest tasks increase configuration cache state size depending on number of modules in project -
KT-49253KJS / Gradle: Error while evaluating property 'filteredArgumentsMap' of task ':compileProductionExecutableKotlinJs' -
KT-49902Kotlin/JS: Gradle: with --debug it still runs yarn without --ignore-scripts -
KT-49808KJS / Gradle: NPE when running node.js Mocha tests with configuration cache reuse -
KT-49530KJS: Update Node.JS and Yarn -
KT-50930KJS / IR: Incremental compilation cache building not consider multiple artifacts -
KT-50485KJS / IR: Enable per-module by default -
KT-49445KJS / IR: "AssertionError: Built-in class kotlin.Unit is not found" 1.5.31 fails on consuming artifacts built with 1.6.0 -
KT-38040Make Chrome Headless use "--no-sandbox" (configurable) - for Docker
Tools. Gradle. Multiplatform
-
KT-46198[Commonizer] c-interop commonization: Support publishing libraries compiled with commonized c-interop libraries -
KT-41641MPP: NoSuchElementException: "Collection is empty" when android library is added butandroid()source set isn't -
KT-50567commonizeNativeDistribution fails when enableGranularSourceSetsMetadata is set to true -
KT-50592[Gradle][MPP] Mitigate isolated KGP classpath issues -
KT-51176CInteropCommonization: Warn users about disabled cinterop commonization when cinterops are present in hmpp -
KT-49089An annotation class annotated with @OptionalExpectation can not be used in another module with HMPP enabled -
KT-48818False positive warning about usedenableDependencyPropagationflag with enabled hierarchical mpp by default -
KT-49596Composite Metadata Jar: Read location of cinterops from KotlinProjectStructureMetadata file -
KT-41823Default arguments not work in iosMain metadata with enableGranularSourceSetsMetadata -
KT-50574Only enable cinterop metadata transformation when 'kotlin.mpp.enableCInteropCommonization' is set
Tools. Gradle. Native
New Features
-
KT-47633Accept version when configuring cocoapods for kotlin/native -
KT-42630CocoaPods Gradle plugin: Allow customization of podspec properties -
KT-48553Kotlin/Native: use Gradle Shared Build Service to read konan.properties -
KT-47529Read list of opt-in cacheable native targets from konan.properties
Fixes
-
KT-49330commonizeNativeDistribution: "ClassCastException: KotlinJvmProjectExtension_Decorated cannot be cast to class org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension" -
KT-49484Kotlin/Native: XCFramework should include dSYM files for release artifacts -
KT-47768Gradle MPP plugin: K/N targets break task configuration avoidance for assemble task -
KT-49971Make 'embedAndSignAppleFrameworkForXcode' task visible for users -
KT-43815[CocoaPods Plugin] Pod name cannot be changed -
KT-50105Usage of XCFramework and cocoapods plugin leads to error in prepareKotlinBuildScriptModel task -
KT-42105Multiplatform Cocoapod kotlin plugin doesn't support repo distribution -
KT-48808XCFramework task fails when using static debug frameworks -
KT-42755Cocoapods plugin using backslashes on Windows
Tools. JPS
-
KT-51434Language version 1.7 is absent in Kotlin Compiler settings -
KT-48399Internal Error: Unknown version of LookupSymbolKeyDescriptor=-6 -
KT-49177JPS: Kotlin compiler doesn't recompile file that references Java constant in class body -
KT-46506JPS: Kotlin compiler doesn't recompile file that references Java constant -
KT-47909UtilsKt.recordPackageLookup is slow -
KT-47857Class loaders clash when building kotlin project with FIR with JPS without daemon -
KT-45773Improve quality of JPS incremental compilation
Tools. Kapt
-
KT-41456Kotlin compilation failure after successful kapt causes invalid incremental builds -
KT-48402Kapt throws "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" with JDK 16 and Kotlin 1.5.30 -
KT-48617Cache miss due to empty directories in KaptGenerateStubsTask inputs -
KT-48450Allow to configure additional jvm arguments for 'KaptWithoutKotlincTask` -
KT-32596kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotation -
KT-48826Deprecate 'kapt.use.worker.api' property -
KT-47002Kapt: warning mentions non-effective propertykapt.includeCompileClasspath
Tools. Maven
-
KT-50306Configured plugin dependencies should be available in kotlin-maven-plugin scripts
Tools. Parcelize
-
KT-19853Parcelize: CREATOR field should be available from code
Tools. REPL
-
KT-20488REPL: java.lang.InternalError: "Enclosing constructor not found" for class reference on an anonymous object literal
Tools. Scripts
-
KT-48758Kotlin scripting: introduce a link from evaluation configuration to the compilation one -
KT-48414Script: get location of the script.main.kts file -
KT-40497“Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6.” for running script without specified jvm-target -
KT-49329Kotlin scripts are compiled with jvmTarget 1.8 by default and in many scenarios there is no way to redefine it, which lead to inlining errors e.g. with JDK 17
Tools. Wasm
-
KT-49893Don't publish wasm targets withorg.jetbrains.kotlin.js.compilerattribute
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.20.zip | daf17db1c194f4205f3af67129367a69b388f819177963dc53a7b4b2c4d8ce22 |
| kotlin-native-linux-x86_64-1.6.20.tar.gz | d967d6fd87056177ec520b00eee23b994389a1eb486c000af39d2d2fbbfbf3be |
| kotlin-native-macos-x86_64-1.6.20.tar.gz | b53f93258b7ffe4b09e38cd6a5d87aed42a5d0f6f0fba6417e666e6ee12477f1 |
| kotlin-native-macos-aarch64-1.6.20.tar.gz | 3c86d8388d986005095a57e7c58ea6237ac4915ab238feb5613c89fd9a335b6a |
| kotlin-native-windows-x86_64-1.6.20.zip | 241f40852388c51da303931e5c7a4f4c86adca8510d0bd7479b7ac65ce86e3cc |
v1.6.10
Changelog
Android
-
KT-49798[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
Compiler
Performance Improvements
-
KT-49821Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter
Fixes
-
KT-49833java.lang.NullPointerException caused by accidental newline in package directive -
KT-49838Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter -
KT-49752Regression in method return type inference: "IllegalStateException: Expected some types" -
KT-49876Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0 -
KT-49792Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function -
KT-49834Coroutine method transformer generates invalid locals table. -
KT-49441Support friend modules in Kotlin Native -
KT-49248K/N: Symbol withIrSimpleFunctionSymbolImplis unbound after 1.5.30 -
KT-49651Inconsistent compiler APIs for repeatable annotations -
KT-49168JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method -
KT-49573No annotated types, compiler emits "Annotated types are not supported in typeOf" -
KT-47192Build Fake Overrides for internal members of classes from friend module -
KT-48673IR: IllegalStateException for usage of internal member declared in a superclass in another module
JavaScript
-
KT-47811KJS / IR: "ClassCastException" when using suspend function inconsole.log
Language Design
-
KT-49868Support language version 1.3 in Kotlin 1.6.10
Libraries
-
KT-50173Different behavior of Regex escapeReplacement function in JVM and JS
Tools. Android Extensions
-
KT-49799NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0
Tools. Compiler Plugins
-
KT-50005jvm-abi-gen plugin: do not change the declaration order in generated jars -
KT-49726JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter
Tools. Gradle
-
KT-49835Android consumers can't resolve Android debug variants of published MPP libraries published with Kotlin 1.6.0 & Gradle 7.0+ -
KT-49910Incremental compilation speed regression in 1.6.0 for Android projects
Tools. Gradle. JS
-
KT-49109KJS / Gradle: Configuration failed: Could not find node-14.17.0-darwin-arm64.tar.gz (org.nodejs:node:14.17.0) -
KT-50135KJS: Problem with Yarn install with scripts on Windows -
KT-34014Gradle, JS: Ability to persist / reuse yarn.lock -
KT-49505KJS / IR: Installation of NPM dependencies should be with ignore-scripts
Tools. Gradle. Native
-
KT-49931Kotlin Multiplatform Fails in Windows after 1.6.0 upgrade - Cannot run program "pod" -
KT-49771podInstall task is not executed after adding a pod dependency to the shared module
Tools. Incremental Compile
-
KT-49822Incremental compilation state is modified when the build fails in Kotlin 1.6 -
KT-49340"IllegalStateException:@NotNullmethod org/jetbrains/kotlin/com/intellij/openapi/application/AsyncExecutionService.getService must not return null" with Anvil plugin and incremental compilation
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.10.zip | 432267996d0d6b4b17ca8de0f878e44d4a099b7e9f1587a98edc4d27e76c215a |
| kotlin-native-linux-x86_64-1.6.10.tar.gz | 9b42bd16b6accf009ea4cc8dc786dece079af55b6a637fecc1e8c1f4c0614d08 |
| kotlin-native-macos-x86_64-1.6.10.tar.gz | 607729bbd963d35e7df85647a8d01f25ae3112b1537edaababebc399cb8d4806 |
| kotlin-native-macos-aarch64-1.6.10.tar.gz | b4fc9e179540b4dc7de7b3a5a3548dad62b1247acc3e143305d13c4194cbca25 |
| kotlin-native-windows-x86_64-1.6.10.zip | 78b746551f58022727add4c609d7f42802b3ffc3d8163517b708a8c3355d33c1 |
v1.6.0
Changelog
Android
-
KT-48019Bundle Kotlin Tooling Metadata into apk artifacts -
KT-47733JVM / IR: Android Synthetic don't generate _findCachedViewById function
Compiler
New Features
-
KT-47984In-place arguments inlining for @InlineOnly functions -
KT-12794Allow runtime retention repeatable annotations when compiling under Java 8 -
KT-43714Support annotations on class type parameters (AnnotationTarget.TYPE_PARAMETER) -
KT-45949Kotlin/Native: Improve bound check elimination -
KT-43919Support loading Java annotations on base classes and implementing interfaces' type arguments -
KT-48194Try to resolve calls where we don't have enough type information, using the builder inference despite the presence of the annotation -
KT-47736Support conversion from regular functional types to suspending ones in JVM IR -
KT-39055Support property delegate created via synthetic method instead of field
Performance Improvements
-
KT-45185FIR2IR: get rid of IrBuiltIns usages -
KT-47918JVM / IR: Performance degradation with const-bound for-cycles -
KT-33835Bytecode including unnecessary null checks for safe calls where left-hand side is non-nullable -
KT-41510Compilation of kotlin html DSL is still too slow -
KT-48211We spend a lot of time in ExpectActual declaration checker when there is very small amount of actual/expect declaration -
KT-39054Optimize delegated properties which call get/set on the given KProperty instance on JVM -
KT-46615Don't generate nullability assertions in methods for directly invoked lambdas
Fixes
-
KT-49613JVM / IR: "Exception during IR lowering" with java fun interface and it's non-trivial usage -
KT-49548"ClassCastException: java.util.ArrayList$Itr cannot be cast to kotlin.collections.IntIterator" with Iterable insidelet -
KT-22562Deprecate calls to "suspend" named functions with single dangling lambda argument -
KT-47120JVM IR: NoClassDefFoundError when there are an extension and a regular function with the same name -
KT-49477Has ran into recursion problem with two interdependant delegates -
KT-49442ClassCastException on reporting [EXPOSED_FROM_MRIVATE_IN_FILE] Deprecation: private-in-file class should not expose 'private-in-class' -
KT-49371JVM / IR: "NoSuchMethodError" with multiple inheritance -
KT-44843PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with delegate who has name or parameter with the same name as a property -
KT-49294Turning FlowCollector into 'fun interface' leads to AbstractMethodError -
KT-18282Companion object referencing it's own method during construction compiles successfully but fails at runtime with VerifyError -
KT-25289Prohibit access to class members in the super constructor call of its companion and nested object -
KT-32753Prohibit @JvmField on property in primary constructor that overrides interface property -
KT-43433Suspend conversion is disabledmessage in cases where it is not supported and quickfix to update language version is suggested -
KT-49399Building repeatable annotation with Container nested class fails with ISE: "Repeatable annotation class should have a container generated" -
KT-49209Default upper bound for type variables should be non-null -
KT-49335NPE inRepeatedAnnotationLowering.wrapAnnotationEntriesInContainerwhen using@Repeatableannotation from different file -
KT-48876java.lang.UnsupportedOperationException: org.jetbrains.kotlin.ir.expressions.impl.IrReturnableBlockImpl@4a729df -
KT-48131IAE "Repeatable annotation container value must be a class reference" on using Kotlin-repeatable annotation from dependency -
KT-49322Postpone promoting warnings to errors forProperTypeInferenceConstraintsProcessingfeature -
KT-49285Exception on nested builder inference calls -
KT-49101IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(out Number) -
KT-41378Compilation failed: Deserializer for declaration public kotlinx.coroutines/SingleThreadDispatcher|null[0] is not found -
KT-47285IR deserialization exception when dependency KLIB has class instead of typealias -
KT-46697IllegalStateException: IrTypeAliasSymbol expected: Unbound public symbol for public kotlinx.coroutines/CancellationException|null[0] compiling KMM module for Kotlin/Native with Kotlin 1.5 -
KT-36399Gradually support TYPE_USE nullability annotations read from class-files -
KT-11454Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-files -
KT-18768@Notnullannotation from Java does not work with varargs -
KT-24392Nullability of Java arrays is read incorrectly if@Nullableannotation has both targets TYPE_USE and VALUE_PARAMETER -
KT-48157FIR: incorrect resolve with built-in names in use -
KT-46409FIR: erroneous resolve to qualifier instead of extension -
KT-44566FirConflictsCheckerdo not check for conflicting overloads across multiple files -
KT-37318FIR: Discuss treating flexible bounded constraints in inference -
KT-45989FIR: wrong callable reference type inferred -
KT-46058[FIR] Remove state from some checkers -
KT-45973FIR: wrong projection type inferred -
KT-43083[FIR] False positive 'HIDDEN' on internal -
KT-48794Breaking change in 1.5.30: Builder inference lambda contains inapplicable calls so {1} cant be inferred -
KT-46727Report warning on contravariant usages of star projected argument from Java -
KT-40668FIR: Ambiguity on qualifier when having multiple different same-named objects in near scopes -
KT-37081[FIR] errors NO_ELSE_IN_WHEN and INCOMPATIBLE_TYPES absence -
KT-48162NON_VARARG_SMREAD isn't reported on *toTypedArray() call -
KT-45118ClassCastException caused by parent and child class in if-else -
KT-47605Kotlin/Native: switch to LLD linker for MinGW targets -
KT-48912K/NSymbol with IrSimpleFunctionSymbolImpl is unboundandJS Validation failed in file shaders.kt -
KT-44436Support default not null annotations to enhance T into T!! -
KT-49190Increase stub versions -
KT-48261"overload resolution ambiguity" for JSpecify+jsr305-annotated Java List implementation -
KT-48778-Xtype-enhancement-improvements-strict-mode not respecting@NonNullannotation for property accesses? -
KT-48606[1.6] Instantiated annotations do not implement hashCode correctly/consistently -
KT-49157Tail-call optimization miss with cast to type parameter -
KT-46437NI: "Throwable: Resolution error of this type shouldn't occur for resolve if as a call" caused by reflectively accessing private property inside "if/else" or "when" expression -
KT-48590IllegalArgumentException: ClassicTypeSystemContext couldn't handle: Captured(*) reified type class reference -
KT-48633Can't infer builder inference's type argument across local class -
KT-49136JVM IR: NPE with safe call chain and property set to null by reflection -
KT-48570OptIn marker should not spread from class to its members -
KT-48928Prohibit using old JVM backend with language version >= 1.6 -
KT-41978NI: Kotlin fails to infer type of function argument -
KT-48101Smart cast on base class property is impossible if base class is from another module -
KT-48732JVM / IR: MalformedParameterizedTypeException is thrown when a Spring Bean of suspending function type is registered -
KT-47841Turning LV to 1.6 breaks some diagnostics based on jspecify annotations -
KT-48498JVM IR: IllegalAccessError with inline function call and property delegation from different module -
KT-48319JVM / IR: AssertionError: FUN caused by suspend lambda inside anonymous function -
KT-48835Psi2ir: vararg parameter value is lost when translating adapted function reference to base class member -
KT-46908JVM / IR: do not wrap fun interface implementation into another SAM adapter if it inherits from a functional type -
KT-48927JVM IR: "VerifyError: Bad invokespecial instruction: current class isn't assignable to reference class" when up-casting and read a base class's private property that has a custom getter in the base class's public function -
KT-48992Postpone migration to new operator resolution scheme for integer literals -
KT-48290Type bounds warning based on Java annotations not issues with language level 1.6 -
KT-47920There is no warning on violated nullability of type parameter in accordance with java nullability annotation -
KT-41664Remove the "runtime JAR files in the classpath should have the same version" warning -
KT-48851Keep using warn mode for jspecify in 1.6 -
KT-46829IR: NullPointerException caused by setting scoped generic extension var -
KT-42972Forbid protected constructor calls from public inline functions -
KT-45378Prohibit super calls in public-api inline functions -
KT-48515JSpecify: If a class has a@Nullabletype-parameter bound, Kotlin should still treat unbounded wildcards like platform types -
KT-48825JVM IR: NPE with delegated property "by this" to base class -
KT-48535Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning -
KT-47928Prohibit declarations of repeatable annotation classes whose container annotation violates JLS -
KT-47971Report error on declaration of a repeatable annotation class with nested class named Container -
KT-48478JVM IR: Coroutines 1.5.1 + Kotlin 1.5.30 - ClassCastException: CompletedContinuation cannot be cast to DispatchedContinuation -
KT-48523Kotlin/Native: cross-compilation from Linux to MinGW not working whenplatform.posixis used -
KT-48671JVM / IR: "AssertionError: Primitive array expected: CLASS IR_EXTERNAL_DECLARATION_STUB CLASS" -
KT-46181JVM IR: private @JvmStatic function is generated in the outer class instead of companion object, which breaks existing calls via JNI or reflection (e.g. JUnit @MethodSource) -
KT-48736JVM IR: assert in SyntheticAccessorLowering when inline function attempts to access package-private field from Java -
KT-48653Warnings on non-exhaustive when statements missing in some cases with 1.6 -
KT-48394JVM: Invalid locals caused by unboxing bytecode optimization -
KT-20542IllegalAccessError on calling private function with default parameters from internal inline function used in another package -
KT-48331JVM / IR: "VerifyError: Bad access to protected data in invokevirtual" when a sealed class uses another sealed class in its same hierarchy level as a constructor parameter -
KT-48380kotlin.RuntimeException: Unexpected receiver type -
KT-47855Kotlin/Native: compilation fails due to Escape Analysis -
KT-48291False positive [ACTUAL_MISSING] Declaration must be marked with 'actual' when implementing actual interface -
KT-48445"IAE: Top level call context should not be null to analyze coroutine-lambda" when compiling Kotlin with language version 1.6 -
KT-48618Enable by default "suspend conversion" feature in 1.6 -
KT-47638Drop EXPERIMENTAL_IS_NOT_ENABLED diagnostic -
KT-48589KotlinTypeRefiner is lost, leading to TYPE_MISMATCH and OVERLOAD_RESOLUTION_AMBIGUITY issues with MPP projects -
KT-48615Inconsistent behavior with integer literals overflow (Implementation) -
KT-47937Implement deprecation of computing constant values of complex boolean expressions in when condition branches and conditions of loops -
KT-48391JVM / IR: "AssertionError: SyntheticAccessorLowering should not attempt to modify other files!" caused by class which inherits interface which has default function with default argument from companion const val -
KT-48552Kotlin/Native: iosArm64 debug build fails in 1.6.0-M1-139 -
KT-46182Native: prohibit using dots in identifiers -
KT-46230JVM IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER MOVED_DISPATCH_RECEIVER" with value class overriding function with default parameter -
KT-48302FIR: Investigate not-null assertion on generic Java method -
KT-48350JVM IR: NPE from LocalDeclarationsLowering on property reference with field from outer class used as receiver (1.6.0-M1 regression) -
KT-48500AE: "Last parameter type of suspend function must be Continuation, but it is kotlin.coroutines.experimental.Continuation" forkotlin-stdlib-commonlibrary -
KT-48469Problem with properties lazy initialization while using kotlinx.serialization plugin -
KT-48432Regression in IntRange.contains (and probably other ranges too) when used in-place -
KT-44855"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" on smart cast of protected field owner -
KT-47542Incorrect ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED after migration to 1.6 on class indirectly extending RuntimeException -
KT-48166FIR: incorrect common supertype for PSI elements hierarchy -
KT-47499JVM / IR: java.lang.VerifyError: Bad access to protected data in invokevirtual when trying to clone the result of lambda invocation that is "this" in an extension function -
KT-46451JVM Debugging: stepping on finally block end brace line before stepping into finally code -
KT-48329It's impossible to infer a type variables based on several builder inference lambdas -
KT-48193Don't use the builder inference for calls which can be resolved without it -
KT-46450JVM Debugging: some break statements in catch blocks have no line numbers and you cannot set breakpoints on them -
KT-48298FIR: incorrect deserialized annotations in back-end -
KT-48234FIR: false positive NON_INTERNAL_PUBLISHED_API for primary constructor property -
KT-48174IR interpreter: unsupported compile-time call -
KT-48158FIR: false positive ASSIGNMENT_TYPE_MISMATCH as a result of wrong type inference around callable references -
KT-48109FIR: incorrect type inference for generic argument of intersection type -
KT-48161FIR: false positive ARGUMENT_TYPE_MISMATCH for bounded type parameter VS Java not-null -
KT-48159FIR: erroneous scope order during type resolve of constructor return type -
KT-48165FIR: false positive "initializer should be a constant value" on String.length -
KT-48175FIR: exception for JvmField on local class property -
KT-48164FIR: false positive OVERRIDING_FINAL_MEMBER in enum entry -
KT-48116FIR: false positive NOT_A_LOOP_LABEL -
KT-48102FIR: false positive ABSTRACT_MEMBER_NOT_IMPLEMENTED with mapped stdlib functions -
KT-47911Native compiler on ios_arm64 target generates movi.2d instructions, which are mishandled by Apple hardware -
KT-48105FIR: generic/specific callable reference ambiguity -
KT-14392Repeated annotation with use site target is not detected for getter and setter -
KT-47493Missed frontend diagnostic in try/catch -
KT-48058"No type for expression" compiler exception on calls with unused lambda -
KT-47597JVM IR: if statement doesn't eval correctly on 1.5.20 possible nullable type differences. -
KT-47922False negative type mismatch on empty when as last statement of lambda -
KT-34594Do not generate fake debugger variables initialization for @InlineOnly functions -
KT-47749Incorrect scope of a local variable inside the coroutine -
KT-47527JVM / IR ClassCastException: "kotlin.Unit cannot be cast to java.lang.String" -
KT-47840JVM / IR: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER name: x" in nested local functions with recursive calls -
KT-46448JVM Debugging: Locals in finally blocks not always duplicated when the finally block is -
KT-47716JVM / IR: NoSuchMethodError when trying to get MAX_VALUE from ULong in non-trivial try/finally context -
KT-47762JVM / IR: Properties with the same signatures in inline class and its companion object crashes the compiler with NullPointerException -
KT-47741JVM / IR: VerifyError: Bad type on operand stack with iterator and invoking method reference to IntIterator -
KT-43696ClassFormatError on @JvmStatic external fun in interface companion object -
KT-47715JVM / IR, R8: External getter cannot be represented in dex format -
KT-47684Add warning onischecks which are always false -
KT-47685False positive CAST_NEVER_SUCCEEDS on variable of intersection type -
KT-32188NI: False positive "This cast can never succeed" -
KT-35687NI: Poor cast can never succeed [CAST_NEVER_SUCCEEDS] -
KT-41331False negative USELESS_IS_CHECK with null -
KT-47609JVM IR: "AssertionError: Unexpected number of type arguments" when compiling an extension property with annotation and it extends a value class with a generic parameter -
KT-47413FIR: Rework FirDelegatedScope -
KT-47492Illegal use of DUP
Docs & Examples
-
KT-48534Wrong compiler argument for RequiresOptIn
IDE
-
KT-48604MISSING_DEPENDENCY_CLASS in test source sets with kotlin.mpp.enableGranularSourceSetsMetadata=true
IDE. Debugger
-
KT-47970AE: "Either library or explicit name have to be provided " in IR debugger tests
IDE. Gradle Integration
-
KT-46273MPP: Don't fail import for case of missed platform in source set structure -
KT-48823Improve error reporting on import when configuration phase in Gradle failed -
KT-48504MPP: UninitializedPropertyAccessException on import if new hierarchical mpp flag conflicts with other flags -
KT-47463MPP: Import fails withTask 'runCommonizer' not found in root projectif Kotlin configured only in module
IDE. Multiplatform
-
KT-47604kotlin-stdlib-common leaks into dependencies of Android-specific source sets
JavaScript
-
KT-43783KJS / IR: companion object and nested objects are not exported -
KT-47524KJS / IR: Treat protected members as part of exported API -
KT-48132KJS / IR: "IllegalStateException" when interface methods don't have default implementation -
KT-47700Support instantiation of annotation classes on JS -
KT-48317KJS / IR: "TypeError: ... is not a function" on running code with suspend function inheritors -
KT-48344KJS / IR: incorrect call with vararg argument from suspend function -
KT-47751Kotlin/JS: IR + IC: "argument has no effect without source map" warnings on build
Libraries
New Features
-
KT-46423infix extension fun Comparable.compareTo -
KT-47421Stabilize collection builders -
KT-48584Introduce JVM readln() and readlnOrNull() top-level functions
Performance Improvements
-
KT-45438Remove brittle ‘contains’ optimization in minus/removeAll/retainAll
Fixes
-
KT-28378Different behavior of Regex replace function in JVM and JS when replacement string contains group reference -
KT-46785Get rid of !! after readLine() in the standard library -
KT-46784Stabilize Duration API in the standard library -
KT-46229Bring back Duration factory extension properties -
KT-27738Make JS Regex.replace not inline -
KT-48607Stabilize experimental API for 1.6 -
KT-47304Random#nextLong generates value outside provided range -
KT-47706System property that controls the brittlecontainsoptimization -
KT-48999Align behavior of some JS functions with their JVM counterpart -
KT-46243Typography.leftGuillemete and Typography.rightGuillemete are named inconsistent with standard -
KT-46101Review deprecations in stdlib for 1.6 -
KT-48456Introduce Common (multi-platform) readln() and readlnOrNull() top-level functions -
KT-48587Deprecate some of JS-only stdlib API -
KT-39328Make builder collection implementations serializable -
KT-47676K/JS: MatchResult.next() returns no expected next match if called aftermatchEntire -
KT-39166Nothing is silently mapped to Void in arguments of the type passed to typeOf -
KT-39330Migrate declarations from kotlin.dom and kotlin.browser packages to kotlinx.* -
KT-28753Comparing floating point values in array/list operations 'contains', 'indexOf', 'lastIndexOf': IEEE 754 or total order -
KT-38854Gradually change the return type of collection min/max functions to non-nullable -
KT-38754Deprecate appendln in favor of appendLine
Native
-
KT-48807Cinterop: cannot create bindings for a framework when Xcode 13 RC is installed -
KT-49384Kotlin/Native: Unexpected variance in super type argument: out@0 -
KT-47424StackOverflowError in IR hashCode() methods compiling KMM module for Kotlin/Native with Kotlin 1.5.0+ -
KT-49234SIGSEGV using the new memory manager in release in Kotlin 1.6.0-RC in MacosX64 -
KT-48566ExceptionInInitializerError when configuring Gradle project with kotlin-multiplatform plugin on a host unsupported by Kotlin/Native -
KT-48039Native: support shaded (aka embeddable) compiler jar in Gradle plugin -
KT-42693Remove dependency on ncurses5 library
Native. C Export
-
KT-47209kotlin-native fails to generate valid C header if a setter takes anonymous parameter (_)
Native. C and ObjC Import
-
KT-48074Native: cinterop: __flexarr support
Native. ObjC Export
-
KT-47809Kotlin/Native: ObjC-export module name usage in klib compilation
Native. Platforms
-
KT-43024Kotlin/Native: Windows as cross-compilation target
Native. Runtime
-
KT-48452Kotlin/Native: Support thread state switching in termination handlers for the new MM
Native. Runtime. Memory
-
KT-48143Kotlin/Native: test fails with assert with new MM and state checker -
KT-48364Uninitialized top-level properties in new MM -
KT-44283staticCFunction with CValue parameter crashes when invoked off the main thread
Native. Stdlib
-
KT-47662[Native, All platforms] Incorrect parsing of long strings to Float and Double
Reflection
-
KT-45066Support flexible types (nullability, mutability, raw) in typeOf -
KT-35877typeOf<MutableList<>> cannot be distinguished from typeOf<List<>> in Kotlin/JVM
Tools. CLI
-
KT-49007Support three previous API versions -
KT-48622Introduce compiler X-flag to use the builder inference for all calls by default -
KT-32376“no main manifest attribute” on running the jar for cli-compiled Kotlin objects with main function -
KT-48026Add the compiler X-flag to enable self upper bound type inference -
KT-47640CLI: support -option=value format as for -Xoption=value -
KT-47099Add a stable compiler argument for opt-in requirements as soon as they are stable
Tools. Commonizer
New Features
-
KT-48455[Commonizer] Optimistic number commonization -
KT-48459[Commonizer] Add opt-in annotation to optimistically commonized numbers
Fixes
-
KT-47430[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for "unixMain" -
KT-48567[Commonizer] pthread_self function is not commonized in atomicfu -
KT-48287[Commonizer] platform.posix.mkdir not commonized in OKIO -
KT-48286[Commonizer] platform.posix.ftruncate not commonized in OKIO -
KT-47523MPP: Unable to resolve c-interop dependency if platform is included in an intermediate source set with the only target -
KT-48278[Commonizer] platform.posix.usleep not commonized in sqliter -
KT-46691MPP: Type mismatch for hierarchically commonized typealiases -
KT-47221C-interop commonization fails if few targets reuse same source set -
KT-47775Commonizer don't run for shared native code if test source set depends on main -
KT-47053MPP: Unable to resolve c-interop commonized code from shared test source set -
KT-48118Commonized c-interop lib is not attached to common main source set -
KT-47641Enabled cInterop commonization triggers native compilation during Gradle sync in IDE -
KT-47056MPP: Change naming for folder with commonized c-interop libraries
Tools. Compiler Plugins
-
KT-48842Compiler crash: Symbol with IrFieldSymbolImpl is unbound -
KT-48117Kotlin AllOpen Plugin should open private methods -
KT-40340jvm-abi-gen plugin: failure with Android D8 (Dexer) tool -
KT-40133jvm-abi-gen plugin: fails for inline function containing apply block with anonymous object -
KT-28704jvm-abi-gen plugin: avoid calling codegen twice per module -
KT-48111JVM / IR: "IllegalAccessError: tried to access method" with NoArg plugin and sealed class
Tools. Gradle
Performance Improvements
-
KT-49159KotlinGradleBuildServices leaks Gradle instance when configuration cache is enabled
Fixes
-
KT-45504Deprecate Gradle option KotlinJvmOptions.useIR since 1.5 -
KT-49189In Gradle, dependencies on an MPP with Android+JVM fail to resolve in pure-Java projects -
KT-48830Change deprecation level to 'ERROR' for 'KotlinGradleSubplugin' -
KT-48264Cannot write Kotlin build report unless directory exists -
KT-48745JVM target compatibility check should be disabled when Java sources are empty -
KT-49066Setting kotlinOptions.modulePath in an android project breaks incremental compilation -
KT-48847Remove deprecated kotlin options marked for removal after 1.5 -
KT-48245KGP makes compileOnly configuration resolvable -
KT-38010Invalid warning "Runtime JAR files in the classpath should have the same version." withjava-gradle-plugin -
KT-48768Misleading 'jdkHome' deprecation message -
KT-46719Remove 'kotlin.useFallbackCompilerSearch' build option -
KT-47792KGP should ignore ProjectDependency when customize kotlin Dependencies -
KT-47867Replace usages of IncrementalTaskInputs with InputChanges -
KT-46972Migrate Kotlin repo to use Gradle toolchain feature
Tools. Gradle. JS
-
KT-49124KJS / Gradle: Unable to load '@webpack-cli/serve' command -
KT-49201KJS / Gradle: NPM dependencies resolution may fail on parallel builds -
KT-48241KJS / Gradle: NPM test dependency may break Gradle configuration cache -
KT-32071Possibility to disable downloading of Node.js and Yarn -
KT-48332Make NodeJsSetupTask and YarnSetupTask not cacheable -
KT-37895KJS: NPM Post-install Scripts sometimes print "node: not found" -
KT-34985kotlin-gradle-plugin: Should align ways NodeJs and Yarn are downloaded
Tools. Gradle. Multiplatform
-
KT-48709MPP: Task compileKotlinMacosX64 fails on matching native variants if ktlint presented -
KT-48919Gradle multiplatform plugin 1.6.0-M1 does not accept apiVersion = "1.7" -
KT-46343[Commonizer] Use lockfile for NativeDistributionCommonizationCache -
KT-48427Execution failed for task ':commonizeNativeDistribution'. > java.io.FileNotFoundException lock (No such file or directory) -
KT-48513Commonized platform libraries are unresolved in modules for new hierarchical MPP flag -
KT-48138CInteropCommonizer: Missing commonization request if test source set has different targets than associated main -
KT-35832Gradle: MPP plugin operates with -Xuse-experimental and not with -Xopt-in
Tools. Gradle. Native
-
KT-48729Test-source sets receive extra unnecessary granular dependencies to more common source sets when depending on MPP-library -
KT-37511CocoaPods Gradle plugin: Support incremental task execution when switching between Xcode and terminal -
KT-47362Cocoapods plugin: add error reporting for case when pod is not installed on user machine -
KT-37513CocoaPods Gradle plugin: Support building tests from terminal for projects depending on pods
Tools. Kapt
-
KT-45545Kapt is not compatible with JDK 16+ -
KT-47853KaptWithoutKotlincTaskeagerly resolves dependencies during construction/configuration and can cause deadlocks -
KT-47934KaptJavaLog is unable to map stub back to the kotlin source -
KT-48195Kapt causes dead lock in DefaultFileLockManager
Tools. Scripts
-
KT-49400Script resolver options can't take values with special symbols (/, , $, :, .) in them -
KT-49012Compiling .kts script with inner class declaration fails with Backend Internal Error caused by AE: "Local class constructor can't have dispatch receiver" -
KT-47927Script: memory leak with new engines -
KT-48025JVM / IR / Script: IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER caused by method tnat returns outer function -
KT-48303main.kts script fails to detect vanished dependencies if run from the cache -
KT-48177Scripts: OutOfMemoryException with circular@file:Import -
KT-46645Scripts: "IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER" caused by get accessor
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.6.0.zip | 174c92e12a54c0901fd9f0badacf1514c28b5197a95654e4dab1775293dde1dc |
| kotlin-native-linux-x86_64-1.6.0.tar.gz | 64fcc58174feabec7de521053baa2edbd883419a721bce79a6e1c7bbd5c15e51 |
| kotlin-native-macos-x86_64-1.6.0.tar.gz | 856a58b92672cd83b84c23ae5af19e59a08509d83a0de4a50b89f2259e2c7306 |
| kotlin-native-macos-aarch64-1.6.0.tar.gz | 12b29e1763be6715fb3ecafb6ed9bbf7f9874d398654465380ceec69aa9007a2 |
| kotlin-native-windows-x86_64-1.6.0.zip | 90fbba1e309f8cac128e15f0673991b13bb07b4aa09e40188476ddaab29bc9a7 |
v1.5.32
Changelog
Tools. Gradle. Multiplatform
-
KT-49798[MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.5.32.zip | 2e728c43ee0bf819eae06630a4cbbc28ba2ed5b19a55ee0af96d2c0ab6b6c2a5 |
| kotlin-native-linux-x86_64-1.5.32.tar.gz | 3b1441171951f80272d227da8673dcceff48343a3effba36ee49e5be5f55a1a3 |
| kotlin-native-macos-x86_64-1.5.32.tar.gz | 3060512bceb7e3b0bdfe9f5af7d526192b745be1c42a317b6a455b06393513df |
| kotlin-native-macos-aarch64-1.5.32.tar.gz | b41322c2e7d88379d65554b70edc34eb05f49c9d72d528c16b64a60a9c2250b8 |
| kotlin-native-windows-x86_64-1.5.32.zip | 6d6a2dbaa65d3b5f07bb6b48cbd6fa92f616d2c8edd0afb4f19f1cc35566476a |
v1.5.31
Changelog
Compiler
Fixes
-
KT-48659JVM / IR: Referential equality returns true for different instances -
KT-48613Kotlin/Native fails to compile debug binaries for watchosArm64 target -
KT-48316"No value passed for parameter" regression with Java annotation default values with JSR-305 -
KT-48343Mistake in an error message for uninferred type variable without unrestricted builder inference -
KT-48543Native compiler crashes because of bridges for $default stubs -
KT-48349OptIn markers are forbidden on local variable / value parameter / property getter only in presence of explicit Target annotation -
KT-48295JVM / IR: VerifyError: Bad access to protected data in getfield -
KT-48551JVM / IR: "IllegalStateException: Inline class has no primary constructor" caused by inline class from one module andfun interfacefrom another -
KT-47917JVM: "UTF8 string too large" caused by a big string -
KT-48440JVM IR: Missing checkcast in generated bytecode causes VerifyError in Kotlin 1.5.30 -
KT-48361INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions -
KT-48267JVM IR: CCE on callable reference to Array constructor passed to inline function
IDE
-
KTIJ-15744Reopening build.gradle.kts-based project reports MISSING_SCRIPT_BASE_CLASS KotlinBuildScript until re-import -
KTIJ-19005JDK 17: "PermittedSubclasses requires ASM9" exception multiple times per second during analysis -
KTIJ-19504IDE highlighting: Kotlin plugin 1.5.30 started showing some valid classes from multiplatform libraries as not existing
Native
-
KT-48591Kotlin/Native: Char.isHighSurrogate and Char.isLowSurrogate return wrong result for macosArm64 and iosArm64 with compiler cache enabled -
KT-48491CInterop broke in Kotlin 1.5.30
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.5.31.zip | 661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e |
| kotlin-native-linux-x86_64-1.5.31.tar.gz | 636b7e9e54eefa3fa1d284677a8ec2271d0f98b024a8a60127ef20a3badaae03 |
| kotlin-native-macos-x86_64-1.5.31.tar.gz | fde7224a8e04a6cd934ecbf55d4d51966f8a0668104f4316a76b3f38062d1ade |
| kotlin-native-macos-aarch64-1.5.31.tar.gz | fbd005e360253e7d7ff1cd78b7cbbe34df0592812676deada6620a53d469d803 |
| kotlin-native-windows-x86_64-1.5.31.zip | 11c2e3378ea2e0121e9c3378e58f9813fc5f7850110c0e341739ab514f1379ca |
v1.5.30
Changelog
Backend. Native. Debug
-
KT-47405Incorrect path from inlined method in stacktrace on iOS-simulator ARM64 -
KT-47408Incorrect line number of inlined method on iOS-simulator ARM64
Compiler
New Features
-
KT-44261Support RxJava 3 nullability annotations -
KT-32443Experimental declarations should be contagious even when they are not explicitly used -
KT-45844Forbid using experimental markers on override declarations -
KT-45845Forbid using experimental markers on getter -
KT-46644Resolve overrides for IrProperty on deserialization -
KT-46967Support class type parameters annotations in FIR -
KT-47402Native: optimize access to object declarations that have only const vals and no init blocks -
KT-47709Make when statements with enum, sealed, and Boolean subjects exhaustive by default -
KT-47699Support programmatic creation of class annotations and corresponding feature flag on JVM
Performance Improvements
-
KT-45103Direct invoke optimization -
KT-47785Compilation time increased when trying to compile AssertJ DB expression in 1.5.21
Fixes
-
KT-48361INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in some positions -
KT-48180JVM / IR: AssertionError: "Lambda with offset already exists" caused by calling inline function with default lambda parameter -
KT-47328JVM / IR: NoSuchFieldError with missing CHECKCAST -
KT-48172"IllegalStateException: Cannot serialize error type: [ERROR : ]" in 1.5.21 with java kotlin interop -
KT-48230JVM IR: CCE for multiple receivers case -
KT-48262"Inconsistent type" with JSpecify @NullMarked -
KT-48167JVM / IR: If Map#entrySet is implemented in an interface, Kotlin compiler generates incorrect code for its implementation -
KT-47988JVM / IR: "VerifyError: Bad type on operand stack" when invoking apply with a local method reference -
KT-48163JVM / IR: "VerifyError: Bad type on operand stack" when throwing result of smartcast -
KT-47833False positive "Type argument is not within its bounds " with upcasting in 1.5.30-M1 -
KT-47830Some code doesn't compile with unrestricted builder inference -
KT-39883Deprecate computing constant values if complex boolean expressions in when condition branches and conditions of loops -
KT-47037Eliminate builder inference restrictions -
KT-46726IR + BuilderInference: AssertionError: Unbound private symbol on usage of this in a BuilderInference lambda -
KT-43855Support gradual introduction of new nullability annotations -
KT-43142FIR: Check UPPER_BOUND_VIOLATED for type alias constructors properly -
KT-45228Leaking builder inference type variables though callable references -
KT-42270NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for BuilderInference with extension functions -
KT-46029JVM / IR: "Unbound private symbol: " when trying to save SequenceScope in property -
KT-45258Wrong CST between types which contain stub type -
KT-45224Type safety problem through leaking of the builder inference scope -
KT-22852Report diagnostics on implicit usages of experimental API -
KT-22941Experimental marker annotation with SOURCE retention is compiled without error -
KT-24993Inference for buildSequence/yield doesn't work for labeled lambdas -
KT-31728Incorrect EXPERIMENTAL_OVERRIDE_ERROR for override of experimental function in anonymous object -
KT-33364Kotlin/Native debugger: execution stops only at next line for breakpoint at when expression without parameter -
KT-42139NI: NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER for emptyList / listOf (with no arguments) / emptyMap / mapOf (with no arguments) inside if block insidesequenceblock -
KT-44241NI: BuilderInference regression -
KT-44372FIR: KClass::java cannot be resolved as callable reference -
KT-44547Native: wrong RTTI when overriding functions with equal signatures but different type arguments -
KT-44571Segfault on unnecessary int unboxing -
KT-45083Problem with property reference in builder inference -
KT-45315Deprecate (V)::a reference resolution to companion in FE 1.0 -
KT-46393AE: "1 trailing arguments were found in Any type" for private function with implicit anonymous return type inside generic class -
KT-46661FIR: Investigate inference issue with self-types and star projection -
KT-46775[Native] [IR] Support multiple suspend lambdas as class supertypes -
KT-46836Error: Invalid LLVM module on inlineClasses external tests -
KT-46838NullPointerException: Parameter specified as non-null is null in CollectionsKt.joinToString() -
KT-46896Native IR: NPE when using irBuiltIns.suspendFunction -
KT-46996FIR: INFERENCE_NO_INFORMATION_FOR_PARAMETER on type aliases with non-trivial expansions -
KT-47034KtValueArgument.getArgumentExpression could lead to StubBasedPsiElementBase.notBoundInExistingAst -
KT-47052BuilderInference case with flatMapTo doesn't work properly -
KT-47082Stub type variable is leaked (reproduces with K/N during deserialization) -
KT-47143ClassicTypeSystemContext couldn't handle: Captured(*) in Kotlin 1.5.0 -
KT-47148Type mismatch: inferred type is Any? but T? was expected -
KT-47180Forbid using OptIn markers on local variable, value parameter or field -
KT-47181Forbid using OptIn markers on types or type parameters -
KT-47183Segfault on int unboxing -
KT-47208Backend Internal error: Exception during IR lowering: assert at IrOverridingUtilKt.buildFakeOverrideMember -
KT-47276Nullability annotations without target are ignored if type enhancement improvements are enabled -
KT-47450StackOverflowException in psi2ir with many chained binary expressions -
KT-47462K/N: AssertionError: Unbound private symbol org.jetbrains.kotlin.ir.symbols.impl.IrClassSymbolImpl@6cb748d(NON-PUBLIC API): deserialized class Companion -
KT-47941"IllegalStateException: Expected some types" on a call with several excepted type constraints -
KT-47854"IllegalArgumentException: Type is inconsistent" with Android's @Nullable annotation starting in Kotlin 1.5.20 -
KT-47899"AssertionError: Intersection type should not be marked nullable" with 1.5.21 -
KT-47846Stack overflow when handling enhanced recursive type parameter -
KT-47747Introduce specific error for calls which could be resolved only with unrestricted builder inference -
KT-47739JVM / IR: NoSuchFieldError with generic sealed classes -
KT-47422-Xjspecify-annotations: If a class has a @Nullable type-parameter bound, Kotlin should still treat some users' type arguments as platform types -
KT-47437Type inference failure with raw types under -Xjspecify-annotations=strict -
KT-47396<?> in @NullMarked code should permit nullable types -
KT-47729False positive INTEGER_OPERATOR_RESOLVE_WILL_CHANGE warning: "expression will be resolved to Int in future releases" -
KT-47333Xcode 13: Compilation for iOS simulator fails -
KT-47772False negative WRONG_ANNOTATION_TARGET on type argument to function call -
KT-47467JVM / IR: "AssertionError: Annotation class expected: deserialized class Array" caused by java annotation as a parameter of another annotation -
KT-47744UninitializedPropertyAccessException compiler exception on nested builder inference calls -
KT-47724Type inference: False positive "Returning type parameter has been inferred to Nothing implicitly" -
KT-47660JVM / IR: Mockito verification fails when named parameters are ordered differently -
KT-47589Using RequiresOptIn annotation on constructor property results in error even if the annotation has no VALUE_PARAMETER target
Docs & Examples
-
KT-47649Important note about KJS IR compiler and stdlib compatibility in 1.5.30
IDE
-
KT-44643ISE: Could not generate LightClass for some declared in on initialisation bylazyin a JVM module of a multiplatform project -
KT-47947Add language version 1.6 to the compiler configuration preferences
IDE. Gradle Integration
-
KT-47163KJS / Gradle:Could not resolve <artifact>despite being resolvable & project buildable
IDE. JS
-
KT-46548KJS: Create an IDE plugin to help with migration to and keeping compatibility with JS IR BE -
KT-47557KJS: With NPM dependency IDEA import fails when performed before Gradle build
JavaScript
-
KT-46204KJS / IR: SupportSuspendFunctionNas super type -
KT-38363JS IR BE: support IC for lowerings -
KT-41651JS IR BE: DCE removesrendermethod from react components passed to the kotlinx.react -
KT-46520KJS / IR: ISE "Can't find name for declaration FUN name:CharArray_init_Create" on callable reference to Array constructor -
KT-45738KJS / IR: Wrong generated code forwhenstatement -
KT-46551KJS / IR: Add a basic sourcemap generation
Libraries
-
KT-47477Could not resolve kotlin-test during project import in case of multiplatform with only JVM target platform -
KT-47675Converting Double to Duration may expose inexactness -
KT-47419Remove method of the MapBuilder iterator throws IOOBE instead of IllegalStateException -
KT-47211Kotlin Native - AbstractMutableList.addAll (with index) does not throw IndexOutOfBoundsException if elements is empty -
KT-23351Regex.splitToSequence, CharSequence.splitToSequence(Regex) -
KT-42851kotlin.time.Duration toString() shows wrong result for seconds -
KT-45325Parsing Duration from String -
KT-34021Regex.matchAt / matchesAt
Native
-
KT-35001warning: linking module flags 'SDK Version': IDs have conflicting values ('[2 x i32] [i32 13, i32 2]' -
KT-43475Kotlin/Native compiler: Including a static C library increased cross-compilation time from 3.5minutes to 1 hour 40 minutes -
KT-44148Escape analysis failure: Heap space out of memory
Native. C and ObjC Import
-
KT-46711platform.windows._LARGE_INTEGER cannot be passed by value
Native. ObjC Export
-
KT-43780Improve Swift/Obj-C ergonomics for object and companion object -
KT-46431KMP accessing a property of an anonymous inner class that inherits from an abstract class causes a 'NSGenericException', reason: '[Shared_kobjcc0 ] is abstract' exception. -
KT-47042Kotlin/Native: Concurrency Interoperability with Objective-C (Swift 5.5)
Native. Stdlib
-
KT-47915Kotlin/Native: Provide access to test cases generated by the compiler
Native. Platforms
-
KT-44321Support Apple Silicon without Rosetta 2
Reflection
-
KT-18277InvalidProtocolBufferException: Stream closed on multithreaded access to built-ins data in reflection -
KT-44977Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access -
KT-47650KClass::nestedClasses throws ClassCastException for script classes with type aliases
Tools. CLI
-
KT-47623Deprecate -Xuse-experimental -
KT-30778kotlin-compiler.jar contains shaded but not relocated kotlinx.coroutines -
KT-40979CLI: Executing "kotlinc.bat" at a root path, errors are not reported with a correct filepath -
KT-40994CLI: Add documentation for -J argument inkotlinc -help -
KT-46764CLI: Java record defined in a single file root is not resolved
Tools. Commonizer
-
KT-47433[Commonizer] Commonize functions/properties with TA/Class types in signature -
KT-47691[Commonizer] Commonizevarandvalproperties -
KT-47434[Commonizer] Commonize parameterized (type-alias + class) types -
KT-47432[Commonizer] Commonize (type-alias + class) types used in functions -
KT-45992[Commonizer] Allow commonization of TypeAlias and Class with same name -
KT-46716[Commonizer] Analyze leaf source sets with original platform libraries -
KT-46957[Commonizer] Unresolved classifier: platform/posix/ptrdiff_t for linuxMips32 -
KT-47133Forbid cinterop commonization with hierarchical commonization turned off -
KT-47301[Commonizer] Associative commonization
Tools. Compiler Plugins
-
KT-46723Kotlin Lombok: JPS: config file is searched in directory relative to compiler daemon -
KT-46739@SerialInfo NPE with default parameter
Tools. Daemon
-
KT-47152Incremental Compilation with Kotlin compile daemon and JDK 17 fails with IllegalAccessException
Tools. Gradle
New Features
-
KT-45757Add an easier way to explicitly set Kotlin daemon jvm arguments
Fixes
-
KT-47940Kotlin JVM toolchain breaks configuration cache -
KT-46626kotlin-android plugin with kotlin-dsl: Extension with name 'android' does not exist. Currently registered extension names: [ext, kotlin, kotlinTestRegistry] -
KT-47754“'compileDebugUnitTestJavaWithJavac' task (current target is 1.8)” during build android project without specified target and with jvmToolchain = JDK 11 -
KT-47520Kotlin and Java target compatibility check produces false positive on using Gradle toolchains -
KT-46978Duplicate resource errors on gradle 7 with multi-module multiplatform project with withJava -
KT-27687Empty directories in source set causes gradle cache miss for KotlinCompile task -
KT-47635Kotlin version conflict on using 'noarg' Gradle plugin -
KT-47636Kotlin version conflict on using 'sam-with-receiver' Gradle plugin -
KT-47354Kotlin version conflict on using 'allopen' Gradle plugin -
KT-45202Kapt crashes with java.io.UTFDataFormatException -
KT-13258Kotlin compiler doesn't respect Gradle's "sourceCompatibility" and "targetCompatibility" -
KT-43095Add support for Java Toolchain to the Gradle plugin -
KT-45611KGP should declare JDK version as input -
KT-47185Migrate Gradle Integration tests to use cache redirector -
KT-48226Kotlin toolchain does not set 'jvmTarget' for Kotlin tasks on configuration cache reuse -
KT-44279Kotlin-Android Gradle Plugin (KGP) should react to application of AGP rather than assume it was applied first -
KT-44041PersistentEnumeratorBase$CorruptedException: PersistentEnumerator storage corrupted
Tools. Gradle. JS
-
KT-47436KJS / IR: Compiler plugins not provided to link task -
KT-46693KJS: Update node.js version used inside gradle to latest 14.x -
KT-47559KJS / Gradle: Run task created using eager API and breaks task configuration avoidance -
KT-47176KJS: Actualize NPM dependencies -
KT-47154KJS / Gradle: Compile task reads dependencies metadata from filesystem too long on large projects -
KT-47114KJS / IR: Could not resolvecoroutines-core-js -
KT-43379KJS / Gradle: On windows, an invalid regex is generated for Webpack ProgressPlugin
Tools. Gradle. Multiplatform
-
KT-47210[Commonizer] Avoid commonization of test source set hierarchy if possible -
KT-46279[Commonizer] Gradle 7.0 will emit warning for metadata compilation in multimodule builds -
KT-47126ios() target shortcuts should not include Apple Silicon by default -
KT-38111Gradle DSL: rename useExperimentalAnnotation function -
KT-47126ios() target shortcuts should not include Apple Silicon by default -
KT-47612Task :buildKotlinToolingMetadata is incompatible with Gradle configuration cache -
KT-47611Task :generateMetadataFileForKotlinMultiplatformPublication is incompatible with Gradle configuration cache
Tools. Gradle. Native
-
KT-42023Kotlin Native Cocoapods plugin fails when Xcode project has custom CONFIGURATION names -
KT-47653Support multi arch build via embedAndSign task -
KT-47078Support Apple Silicon in cocoapods gradle plugin -
KT-47077Support Apple Silicon in embedAndSign task
Tools. Incremental Compile
-
KT-27660JS Incremental compilation fails with java.io.IOException: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 -
KT-36865IC: "ArrayIndexOutOfBoundsException: Array index out of range: 0" -
KT-35532Incremental compilation often fails on @JVMMultifileClass -
KT-19806IncrementalPackagePartProvider cache corruption causes frontend exception
Tools. JPS
-
KT-47753JPS: "IndexOutOfBoundsException: Index 0 out of bounds for length 0": Rebuild triggered due to IOOBE inkotlin.incremental.LookupStorage.<init> -
KT-46804Slow Kotlin incremental build: LookupStorage operations -
KT-45763Failing tests in KotlinIDE
Tools. Maven
-
KT-45689JDK-16: kotlin-maven-plugin fails withIllegalAccessError: class com.intellij.util.io.FileChannelUtilwhen using incremental compilation
Tools. Scripts
-
KT-43917Gradle dependency conflict with resolutionStrategy failOnVersionConflict and kotlin 1.4 -
KT-46646Scripts: ArrayIndexOutOfBoundsException on an empty script running
Tools. REPL
-
KT-47783REPL: Keywords completion appears after numeric and string literals
Tools. kapt
-
KT-47583KaptJavaLog fails on Java 17 due to removed constructor in com.sun.tools.javac.util.Log -
KT-47347KAPT: Stub generation in Gradle cache is not consistently relocatable -
KT-46651KAPT: "Source file or directory not found" - kaptGenerateStubsDebugKotlin task does not track source files properly with configuration cache enabled
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.5.30.zip | 25eebdb9bb2e165e4ba8efbf8ff943c45d4fc39dbffc2c1caa059e8dd813675f |
| kotlin-native-linux-x86_64-1.5.30.tar.gz | 1efad86f35543e3d5365dc6fe7dbde7f20e8330e70cf43b94d6a3f9080b2636f |
| kotlin-native-macos-x86_64-1.5.30.tar.gz | de7e9f9601e5f91aa44c0d8629da8779afaf60d0622287d67a61e72432277001 |
| kotlin-native-macos-aarch64-1.5.30.tar.gz | 7c04408bb98b59b4acc1c5a2c8837350a8ef0262bc19795da42c103e6a8c6bd0 |
| kotlin-native-windows-x86_64-1.5.30.zip | 26ceb0ddc85636d459016d7824975bf82ba6e8f0526c1961604f85348a989dbf |
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.