Kotlin 1.7.0-Beta
Pre-release
Pre-release
Changelog
Analysis API. FIR
KT-50864
Analysis API: ISE: "KtCallElement should always resolve to a KtCallInfo" is thrown on call resolution inside plusAssign targetKT-50252
Analysis API: Implement FirModuleResolveStates for librariesKT-50862
Analsysis API: do not create use site subsitution override symbols
Analysis API. FIR Low Level API
KT-50729
Type bound is not fully resolvedKT-50728
Lazy resolve of extension function from 'kotlin' package breaks over unresolved typeKT-50271
Analysis API: get rid of using FirRefWithValidityCheck
Backend. Native. Debug
KT-50558
K/N Debugger. Error is not displayed in variables view for catch block
Compiler
New Features
KT-45165
Remove JVM target version 1.6KT-51737
Kotlin/Native: Remove unnecessary safepoints on watchosArm32 and iosArm32 targets
Performance Improvements
KT-51699
Kotlin/Native: runtime has no LTO in debug binariesKT-34466
Use optimized switch over enum only when all entries are constant enum entry expressionsKT-50861
FIR: Combination of array set convention and plusAssign works exponentiallyKT-47171
For loop doesn't avoid boxing with value class iterators (JVM)KT-29199
'next' calls for iterators of merged primitive progressive values are not specializedKT-50585
JVM IR: Array constructor loop should use IINCKT-22429
Optimize 'for' loop code generation for reversed arraysKT-50074
Performance regression in String-based 'when' with single equality clauseKT-22334
Compiler backend could generate smaller code for loops using range such as integer..array.size -1KT-35272
Unnecessary null check on unsafe cast after not-null assertion operatorKT-27427
Optimize nullable check introduced with 'as' cast
Fixes
KT-51433
FE 1.0: implement warnings about label resolve changesKT-52146
JVM IR: "AssertionError: Primitive array expected" on vararg of SAM types with self-type and star projectionKT-51818
"ClassCastException: class CoroutineSingletons cannot be cast to class" with suspendCoroutineUninterceptedOrReturn and coroutinesKT-50730
Implement error for a super class constructor call on a function interface in supertypes listKT-52040
JVM: ClassFormatError Illegal method name "expectFailure$__proxy-0"KT-51927
Native:The symbol of unexpected type encountered during IR deserialization
error when multiple libraries have non-conflicting declarations with the same nameKT-50845
Postpone rxjava errors reporting in the strict mode till 1.8 due to found broken casesKT-48890
Revert Opt-In restriction "Overriding methods can only have opt-in annotations that are present on their basic declarations."KT-51979
"AssertionError: No modifier list, but modifier has been found by the analyzer" exception on incorrect Java interface overrideKT-50378
Unresolved reference for method in Jsoup library in a kts script fileKT-34919
"Visibility is unknown yet" when named parameter in a function type used in a typealias implemented by an abstract classKT-51893
Duplicated [OVERRIDE_DEPRECATION] on overridden propertiesKT-41034
K2: Change evaluation semantics for combination of safe calls and convention operatorsKT-51843
Functional interface constructor references are incorrectly allowed in 1.6.20 without any compiler flagsKT-51914
False positive RETURN_TYPE_MISMATCH in intellij ultimateKT-51711
Compiler warning is displayed in case there is 'if' else branch used with elvisKT-49317
"IllegalStateException: Parent of this declaration is not a class: FUN LOCAL_FUNCTION_FOR_LAMBDA" with parameter of suspend type with the default parameterKT-33517
Kotlin ScriptEngine does not respect async code when using bindingsKT-44705
Deprecate using non-exhaustive if's and when's in rhs of elvisKT-44510
FIR DFA: smartcast after elvis with escaping lambdaKT-44879
FIR DFA: Trackinc
anddec
operator calls in preliminary loop visitorKT-51624
FIR: false-positive INAPPLICABLE_LATEINIT_MODIFIER for lateinit properties with unresolved typesKT-51204
FIR IC: Incremental compilation fails on nested crossinlineKT-51798
Fix ISE from IR backend when data class inherits equals/hashCode/toString with incompatible signatureKT-51499
@file:OptIn
doesn't cover override methodsKT-46187
FIR: OVERLOAD_RESOLUTION_AMBIGUITY on SAM-converted callable reference to List::plusKT-49778
Support cast to DefinitelyNotNull type in NativeKT-51718
JVM / IR: "VerifyError: Bad type on operand stack" caused by nullable variable inside suspend functionKT-34515
NI: "AssertionError: Base expression was not processed: POSTFIX_EXPRESSION" with double not-null assertion to bracketsKT-48546
PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression" with recursive property access in lazy blockKT-28109
"AssertionError: No setter call" for incrementing parenthesized result of indexed access convention operatorKT-46136
Unsubstituted return type inferred for a function returning anonymous object upcast to supertypeKT-51621
FIR: visible VS invisible qualifier conflictKT-50468
FIR compilers fails with CCE when meets top-level destructionKT-51557
Inline stack frame is not shown for default inline lambdaKT-51358
OptIn: show default warning/error message in case of empty message argumentKT-44152
FIR2IR fails on declarations from java stdlib if java classes are loaded from PSI instead of binariesKT-50949
PSI2IR: NSEE fromArgumentsGenerationUtilsKt.createFunctionForSuspendConversion
with providing lambda as argument with suspend typeKT-51439
FE 1.0: implement type variance conflict deprecation on qualifier type argumentsKT-39256
ArrayStoreException with list of anonymous objects with inferred types created in reified extension functionKT-39883
Deprecate computing constant values of complex boolean expressions in when condition branches and conditions of loopsKT-36952
Exception during codegen: cannot pop operand off an empty stack (reference equality, implicit boxing, type check)KT-51233
AssertionError in JavaLikeCounterLoopBuilder with ComposeKT-51254
Verify Error on passing null to type parameter extending inline classKT-50996
[FIR] Support Int -> Long conversion for property initializersKT-51000
[FIR] Support Int -> Long? conversionKT-51003
[FIR] Consider Int -> Long conversion if expected type is type variableKT-51018
[FIR] Wrong type inference if one of constraints is integer literalKT-51446
Metadata serialization crashes with IOOBE when deserializing underlying inline class value with type table enabledKT-50973
Redundant line number mapping for finally block with JVM IRKT-51272
Incompatible types: KClass and callable reference Collection::classKT-51229
FIR: private constructor of internal data class treated as internal and not privateKT-50750
[FIR] Report UNSUPPORTED on array literals not from annotation classesKT-49804
False positive of UPPER_BOUND_VIOLATED and RETURN_TYPE_MISMATCHKT-51121
Inconsistent SAM behavior in multiple cases causing AbstractMethodError (Kotlin 1.6.10)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 constraintKT-51235
JVM / 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-51223
Report warning about conflicting inherited members from deserialized dependenciesKT-51156
Multiplatform linkDebugFramework task throws NoSuchElementException when expect class constructors utilize nested enum constantKT-51017
[FIR] Ambiguity on callable reference between two functions on generic receiver with different boundsKT-51007
[FIR] False positive ILLEGAL_SUSPEND_FUNCTION_CALL if fun interface with suspend function declared in another moduleKT-50998
[FIR] Int.inv() cal does not considered as compile time callKT-51009
[FIR] Incorrect inference of lambda in position of returnKT-50997
[FIR] Incorrect type of typealias for suspend functional typeKT-49714
Compiler reports "'operator modifier is inapplicable" if expect class with increment operator is provided via type aliasKT-44623
"IllegalStateException: IdSignature is allowed only for PublicApi symbols" when suspending receiver is annotated with somethingKT-46000
JVM / IR: AssertionError on isSubtypeOfClass check in copyValueParametersToStatic with ComposeKT-50211
Annotation Instantiation with default arguments in NativeKT-49412
Controversial "type argument is not within its bounds" reported by FIRKT-48044
[FIR] Investigate behavior ofUPPER_BOUND_VIOLATED
on complex casesKT-37975
Don't show deprecation of enum class itself for its own memberKT-50737
Inheritance from SuspendFunction leads to compiler crashKT-50723
Implement a fix of reporting of uninitialized parameter in default values of parametersKT-50749
Implement UNSUPPORTED reporting on array literals inside objects in annotation classesKT-50753
Implement reporting errors on cycles in annotation parameter typesKT-50758
Fix inconsistency of exceptions at init block for an enum entry with and without a qualifier nameKT-50182
CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT: clarify error message forconst
in object expressionKT-50183
Fix missing apostrophe escapes in compiler error messagesKT-50822
Analysis API: make declaration transformers machinery to be a thread safeKT-50835
Inline functions with suspend lambdas break the tail-call optimizationKT-49485
JVM / IR: StackOverflowError with long when-expression conditionsKT-35684
NI: "IllegalStateException: Expected some types" from builder-inference about intersecting empty types on trivial codeKT-48908
Error for annotation on parameter type could have distinct ID and message referring 1.6KT-48907
SUPERTYPE_IS_SUSPEND_FUNCTION_TYPE error could have message referring version 1.6KT-34338
Parameterless main causes duplicate JVM signature errorKT-50577
JVM_IR: No NPE when casting uninitialized value of non-null type to non-null typeKT-50476
JVM_IR: NSME when calling 'super.removeAt(Int)' implemented in Java interface as a default methodKT-50257
JVM_IR: Incorrect bridge delegate signature for renamed remove(I) causes SOE with Kotlin class inherited from fastutils IntArrayListKT-50470
FIR: inapplicable candidate in delegate inference due to nullabilityKT-32744
Inefficient compilation of null-safe call (extra null checks, unreachable code)KT-36095
201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with JavaEnum.valueOf
andEnum.values()
reference
IDE
KT-50111
Resolving into KtUltraLightMethod
IDE. Decompiler, Indexing, Stubs
KT-51248
Function and parameter names with special symbols have to backticked
IDE. Multiplatform
KT-50952
MPP: Commonized cinterops doesn't attach/detach to source set on configuration changes
JavaScript
New Features
KT-51735
KJS / IR: Minimize member names in production mode
Performance Improvements
KT-51127
Kotlin/JS - IR generates plenty of uselessUnit_getInstance()
KT-50212
KJS IR: Upcast should be a no-opKT-16974
JS: Kotlin.charArrayOf is suboptimal due to Rhino bugs
Fixes
KT-51125
Provide a way to useimport
keyword injs
expressionsKT-50504
KJS / IR: Transpiled JS incorrectly uses the unscrambled names of internal fieldsKT-52010
K/JS IR: both flows execute when using elvis operatorKT-51853
JS compilation fails with "Uninitialized fast cache info" errorKT-51205
K/JS IR: external class is mapped to anyKT-50806
Typescript definitions contain invalid nested block comments with generic parent and type argument without@JsExport
KT-51081
KJS / IR + IC: Passing an inline function with default params as a param to a higher-order function crashes the compilerKT-51084
KJS / IR + IC: Cache invalidation doesn't check generic inline functions reified qualifierKT-51211
K/JS IR: JsExport: Can't export nested enumKT-51438
KJS / IR: Duplicated import names for the same external namesKT-50953
KJS IR: Incorrect nested commenting in d.tsKT-15223
JS: function that overrides external function withvararg
parameter is translated incorrectlyKT-50657
KJS / IR 1.6.20-M1-39 - Date in Kotlin JS cannot be created from long.
Language Design
KT-49006
Support at least three previous versions of language/APIKT-16768
Context-sensitive resolution prototype (Resolve unqualified enum constants based on expected type)KT-50477
Functional conversion does not work on suspending functionsKT-32162
Allow generics for inline classesKT-44866
Change behavior of private constructors of sealed classesKT-49110
Prohibit access to members of companion of enum class from initializers of entries of this enumKT-29405
Switch default JVM target version to 1.8
Libraries
New Features
KT-50484
Extensions for java.util.Optional in stdlibKT-50146
Reintroduce min/max(By/With) operations on collections with non-nullable return typeKT-46132
Specialized default time source with non-allocating time marksKT-41890
Support named capture groups in Regex on NativeKT-48179
Introduce API to retrieve the number of CPUs the runtime has
Performance Improvements
KT-42178
Range and Progression should override last()
Fixes
KT-51470
Stabilize experimental API for 1.7KT-51775
JS: Support named capture groups in RegexKT-51776
Native: Support back references to groups with multi-digit indexKT-51082
Introduce Enum.declaringJavaClass propertyKT-48924
KJS:toString
in base 36 produces different results in JS compare to JVMKT-50742
Regular expression is fine on jvm but throws PatternSyntaxException for native macosX64 targetKT-50059
Stop publishing kotlin-stdlib and kotlin-test artifacts under modular classifierKT-26678
Rename buildSequence/buildIterator to sequence/iterator
Native
KT-49406
Kotlin/Native: generate standalone executable for androidNative targets by defaultKT-48595
Enable Native embeddable compiler jar in Gradle plugin by defaultKT-51377
Native: synthetic forward declarations are preferred over commonized definitionsKT-49145
Kotlin/Native static library compilation fails for androidNative*KT-49496
Gradle (or the KMM plugin) is caching the Xcode Command Line Tools locationKT-49247
gradle --offline should translate into airplaneMode for kotin-native compiler
Native. C and ObjC Import
KT-49455
Methods from Swift extensions are not resolved in Kotlin shared moduleKT-50648
Incorrect KMM cinterop conversion
Native. ObjC Export
KT-50982
RuntimeAssertFailedPanic in iOS when Kotlin framework is initialized before loadingKT-49937
Kotlin/Native 1.5.31: 'runtime assert: Unexpected selector clash' when 'override fun toString(): String' is used
Native. Runtime. Memory
KT-50713
Kotlin/Native: Enable Concurrent Sweep GC by default
Native. Stdlib
KT-50312
enhancement: kotlin native -- add alloc<TVarOf>(T)
Native. Testing
KT-50316
Kotlin/Native: Produce a list of available tests alongside the final artifactKT-50139
Create tests for Enter/Leave frame optimization
Reflection
KT-27598
"KotlinReflectionInternalError" when usingcallBy
on constructor that has inline class parametersKT-31141
IllegalArgumentException when reflectively accessing nullable property of inline class type
Tools. CLI
KT-29974
Add a compiler option '-Xjdk-release' similar to javac's '--release' to control the target JDK versionKT-51717
IllegalArgumentException: Unexpected versionNeededToExtract (0) in 1.6.20-RC2 with useFir enabledKT-51673
Make language version description not in capital lettersKT-48833
-Xsuppress-version-warnings allows to suppress errors about unsupported versionsKT-51627
kotlinc fails withjava.lang.RuntimeException
if/tmp/build.txt
file exists on the diskKT-51306
Support reading language settings from an environment variable and overriding the current settings by them
Tools. Commonizer
KT-52050
[Commonizer] 'platform.posix.DIR' not implementing 'CPointed' when commonized for 'nativeMain' on linux or windows hostsKT-51224
MPP: For optimistically commonized numbers missed kotlinx.cinterop.UnsafeNumberKT-51215
MPP: Update Kdoc description for kotlinx.cinterop.UnsafeNumberKT-51686
Cinterop: Overload resolution ambiguity in 1.6.20-RC2KT-46636
HMPP: missed classes fromplatform.posix.*
KT-51332
Optimistic number commonization is disabled by default in KGP with enabled HMPP
Tools. Gradle
New Features
KT-50869
Provide API that allow AGP to set up Kotlin compilationKT-48008
Consider offering a KotlinBasePluginKT-49227
Support Gradle plugins variants
Fixes
KT-52189
Provide Gradle Kotlin/DSL friendly deprecated classpath property in KotlinCompiler taskKT-51360
Show performance difference in percent between releasesKT-51380
Add open-source project using Kotlin/JS plugin to build regression benchmarksKT-51937
Toolchain usage with configuration cache prevents KotlinCompile task to be UP-TO-DATEKT-48276
Remove kotlin2js and kotlin-dce-pluginKT-52138
KSP could not access internal methods/properties in Kotlin Gradle PluginKT-51342
Set minimal supported Android Gradle plugin version to 3.6.4KT-50494
Remove kotlin.experimental.coroutines Gradle DSL optionKT-49733
Bump minimal supported Gradle version to 6.7.1KT-48831
Remove 'KotlinGradleSubplugin'KT-51830
Gradle: deprecatekotlin.compiler.execution.strategy
system propertyKT-47763
Gradle DSL: Remove deprecated useExperimentalAnnotation and experimentalAnnotationInUseKT-51374
NoSuchFileException in getOrCreateSessionFlagFile()KT-51837
kotlin-gradle-plugin:1.6.20 fails xray scan on shadowed Gson 2.8.6.KT-45745
Migrate only Kotlin Gradle Plugin tests to new JUnit5 DSL and run them separately on CIKT-47318
Remove deprecated 'kotlinPluginVersion' property in `KotlinBasePluginWrapper'KT-51378
Gradle 'buildSrc' compilation fails when newer version of Kotlin plugin is added to the build script classpathKT-46038
Gradle:kotlin_module
files are corrupted in the KotlinCompile output, and gets cachedKT-51064
Kotlin gradle build hangs on MetricsContainer.flushKT-31027
java.lang.NoSuchMethodError: No static method hashCode(Z)I in class Ljava/lang/Boolean; or its super classes (declaration of 'java.lang.Boolean' appears in /system/framework/core-libart.jar)
Tools. Gradle. JS
KT-51414
Allow set up environment variables for JS testsKT-51623
Kotlin/JS: Mocha could not failed when external module not foundKT-51503
Update NPM dependency versions
Tools. Gradle. Multiplatform
KT-51765
com.android.lint in multiplatform project without android target should not trigger warningKT-51386
[KPM] IdeaKotlinProjectModelBuilder: Implement dependenciesKT-51262
[KPM] IDEA import: Move model builder to KGPKT-51220
[KPM][Android] Implement generic data storage and import pipelineKT-48649
No run task generated for macosArm64 target in Gradle plugin
Tools. Gradle. Native
KT-51884
Gradle Native: "A problem occurred starting process 'command 'xcodebuild''" when buildingassembleFooXCFramework
task on Linux
Tools. Incremental Compile
KT-51546
FIR incremental compilation fails with assertion "Trying to inline an anonymous object which is not part of the public ABI"KT-44741
Incremental compilation: inspectClassesForKotlinIC doesn't determine changes with imported constant
Tools. Kapt
KT-51132
KAPT: Support reporting the number of generated files by each annotation processorKT-30172
Kapt: Shutdown kotlinc gracefully in case of error in annotation processor
Tools. Scripts
KT-52186
Scripts: Backend Internal error: Exception during IR lowering when using symbol from a dependency inside a functionKT-51731
Script: jsr223 memory leak in spring-boot Fat JarKT-49258
Scripts: method 'void ()' not found with multiple evals using kotlin script JSR223KT-51346
Scripts: "BackendException: Exception during IR lowering" with variable of imported script inside class
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.7.0-Beta.zip | eb066c03009801f973fb4629bc2ff2dd7a95cbd2283c6472179f0f9026e2f091 |
kotlin-native-linux-x86_64-1.7.0-Beta.tar.gz | 6f89015e1dfbc7b535e540a22a004ef3e6e4f04349e4a894ed45e703c3b3116f |
kotlin-native-macos-x86_64-1.7.0-Beta.tar.gz | a5ba0ce86ebd3cc625456c7180b3d890bc2808ef9f14f8d56dd6ab3bb103a4ef |
kotlin-native-macos-aarch64-1.7.0-Beta.tar.gz | c971cdf36eb733e249170458c567ad7c38fe0a801f6a784b2de54e3eda49c329 |
kotlin-native-windows-x86_64-1.7.0-Beta.zip | dec9c2019e73b887851794040c7809074578aca41341b15a929433183d01eb8d |