CHANGELOG
1.4.30-RC
Info about particular features
- JVM IR backend reaches Beta
- Inline classes improvements
- JVM records preview with -language-version 1.5 and -Xjvm-enable-preview
- Sealed interfaces preview with -language-version 1.5
New Features
KT-41265
Support noarg compiler plugin for JVM IRKT-43592
Promote JVM IR compiler backend to BetaKT-43919
Support loading Java annotations on base classes and implementing interfaces' type argumentsKT-44021
Enable JVM IR backend by default in 1.5
Fixes
KT-11454
Load annotations on TYPE_USE/TYPE_PARAMETER positions from Java class-filesKT-11732
Verify error for generic interface method invocation with default parametersKT-14612
"ISE: Recursive call in a lazy value" during processing of a (weakly) recursive type aliasKT-18344
Upper bound of a typealias type parameter is not reported correctly if it contains the typealias itselfKT-18768
@NotNull annotation from Java does not work with varargsKT-20548
java.lang.IllegalStateException: Illegal class container on simple Java code parsingKT-23816
Inline classes: constants and annotationsKT-24158
AE: No receiver found on incomplete code with $-signsKT-24392
Nullability of Java arrays is read incorrectly if @nullable annotation has both targets TYPE_USE and VALUE_PARAMETERKT-29735
KNPE atKtEnumEntrySuperclassReferenceExpression.getReferencedElement
with explicit type argument inside enum member constructorKT-31389
ClassFormatError with companion object in annotation with @JvmStaticKT-31907
ISE: UNIT_EXPECTED_TYPE on parsing array literal inside lambda with Unit return typeKT-36399
Gradually support TYPE_USE nullability annotations read from class-filesKT-41163
Double wrapped value in Result class after map operationKT-41284
Spring CGLIB proxies break auto-generated data class componentN and copy methods when using JVM IRKT-41911
JVM IR: nested big-arity function calls are not loweredKT-42001
Cannot resolve symbol: AssertionError: Module <sdk 1.8> is not contained in his own dependenciesKT-42036
IR: "AssertionError: TypeAliasDescriptor expected: deserialized class Nothing" when referencing typealias with @UnsafeVarianceKT-42530
"AssertionError: No type for resolved lambda argument" on attempting to assign a Pair to a couple of values in a scratch fileKT-42622
NI: IllegalStateException for if expression with method reference inside flowKT-43051
JVM IR: extraneous methods overridding default (Java 8) collection methods in inline class that extends MutableListKT-43067
Inner class declaration inside inline class should be prohibitedKT-43225
Confusing message of warning NULLABLE_TYPE_PARAMETER_AGAINST_NOT_NULL_TYPE_PARAMETERKT-43459
JVM_IR. Wrong signature for synthetic $annotations method for extension property on nullable primitiveKT-43478
NI: "IndexOutOfBoundsException: Index: 3, Size: 3" caused byis
check with raw type insideif
condition withwhen
insideKT-43519
JVM_IR. External functions generated differently in multi file facadesKT-43524
JVM_IR. Missed deprecation flag on companion @JvmStatic property accessorKT-43536
JVM IR: IllegalStateException is not caught by runCatching under Deferred.await() with kotlinx.coroutinesKT-43587
Invalid default parameter value in expect actual declaration on jvmKT-43630
"AssertionError: Number of arguments should not be less than number of parameters" during capturing intersection raw type with star projectionKT-43698
NoSuchMethodError for inline class implementing interface with @JvmDefault methods, -Xjvm-default=enableKT-43741
Report error on inline class implementing 'kotlin.Cloneable'KT-43845
org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Failed to generate expression: KtBlockExpressionKT-43956
NI: "Error type encountered – UninferredParameterTypeConstructor" on "try" and other constructs with code block as a valueKT-44055
Left uninferred type parameter for callable references inside special callsKT-44113
Compiler frontend exception: Number of arguments should not be less than number of parameters, but: parameters=2, args=1KT-44145
No highlighting for not initialized base constructor and NoSuchMethodError in Android plugin
IDE
New Features
KT-44075
Sealed interfaces: New Kotlin Class/File menu update
Fixes
KT-29454
Light class with unexpected name when using obfuscated libraryKT-42194
OOME: Java heap space from incremental compilationKT-44116
Add language version 1.5 to the compiler configuration preferences
IDE. Android
IDE. Completion
KT-44016
Code completion: support for "sealed interface"
IDE. Gradle. Script
KT-39105
AE “JvmBuiltins has not been initialized properly” after creating new Gradle/Kotlin-based project via old Project Wizard
IDE. Inspections and Intentions
New Features
KT-44017
Sealed interfaces: Java side Inspection "implementation of Kotlin sealed interface is forbidden"KT-43941
Sealed interfaces: intention to extend class/interface
IDE. Misc
KT-44018
Sealed interfaces: IDE side implementation for hierarchy provider
IDE. Multiplatform
KT-40814
MISSING_DEPENDENCY_CLASS when consuming native-shared library in a source-set with fewer targets than library has
IDE. Run Configurations
KT-34535
Unable to run common tests on Android via gutter icon in a multiplatform project
IDE. Scratch
KT-25038
Scratch: Destructuring declaration produces an unresolved reference
IDE. Script
KT-44117
IDE / Scripts: custom kotlin script definitions aren't loaded
JavaScript
Fixes
KT-41076
KJS / IR: "AssertionError: Assertion failed" caused by overridden extensiion function in child classKT-42357
KotlinJS - external class constructor with vararg does not correctly handle spread operator.KT-43212
JS IR: supportinit
blocks inside inline classesKT-43901
Call to enum values() method from enum companion object leads to non-initialized enum instances
Libraries
KT-41278
map.entries.contains can return false if the argument is not MutableEntry
Middle-end. IR
KT-41765
[Native/IR] Could not resolveFakeOverride()KT-42054
Psi2ir: "RuntimeException: IrSimpleFunctionSymbolImpl is already bound" when using result of function with overload resolution by lambda return type
Native
KT-44271
[Kotlin/Native] Incorrect linking when targeting linux_x64 from mingw_x64 hostKT-44219
1.4.30-M1: Non-reified type parameters with recursive bounds are not supported yet
Native. ObjC Export
KT-43599
K/N: Unbound symbols not allowed
Native. Stdlib
KT-42172
Kotlin/Native: StableRef.dispose race condition on Kotlin deinitRuntimeKT-42482
Kotlin subclasses of Obj-C classes are incompatible with ISA swizzling (it causes crashes)
Tools. CLI
KT-43294
Support-no-stdlib
option for thekotlin
runner
Tools. Compiler Plugins
KT-43725
Prohibit inner and local classes in kotlin-noarg
Tools. Gradle
KT-43740
Gradle out-of-process runner fails with unclear diagnostics if build directory does not existKT-43895
Fix cacheability warnings for the Kotlin plugins
Tools. Gradle. JS
KT-43668
PackageJson task use file dependencies as is (files and directories), but only files necessaryKT-43793
nodeArgs in NodeJsExec taskKT-43842
KJS: Invalidoutput.library
support fornull
valueKT-44104
KJS / Gradle: An ability to pass jvm args to K2JSDce process
Tools. Gradle. Multiplatform
KT-44298
Kotlin 1.4.20+ MPP "root" module publication does not include the source JAR that used to be published in the -metadata modules
Tools. Incremental Compile
KT-42937
another compilation fail (problem with compilation caches?)
Tools. Kapt
KT-44130
KAPT changes field order in 1.4.30-M1
Tools. Scripts
KT-43534
Allow running "main.kts" script that does not end in a "main.kts" filename (would allow kotlin scripting on GitHub Actions)KT-43176
NoSuchMethodError: 'int Script.access$getAValue$p(Script) for not-inlined functionsKT-43294
Support-no-stdlib
option for thekotlin
runner
Checksums
File | Sha256 |
---|---|
kotlin-compiler-1.4.30-RC.zip | d0103f8d3ffe4545a2bcff8b01b348e45b4338387768c7c25901275a9c918691 |
kotlin-native-prebuilt-linux-1.4.30-RC.tar.gz | 07f9bedf68b65d59042d9c24d1157836bd9a8a94b9da49e2b2b7871d90995cbf |
kotlin-native-prebuilt-macos-1.4.30-RC.tar.gz | e2c3bd19aec8eed8a8fbf55e6b213f1ea37f97457a7cb08fd71ff9d865fc01ec |
kotlin-native-prebuilt-windows-1.4.30-RC.zip | 31e358d21f046b89b0aee82bd82814480ba41b6556c9f31066af8fbb9aa3d3a0 |