Changelog
Analysis API
KT-55510K2: Lost designation for local classesKT-55191AA: add an API to compare symbol pointersKT-55487K2: symbol pointer restoring doesn't work for static membersKT-55336K2 IDE: "java.lang.IllegalStateException: Required value was null." exception while importing a compiled JPS projectKT-55098AA: KtDeclarationRenderer should render a context receiversKT-51181LL API: errors for SAM with suspend function from another moduleKT-50250Analysis API: Implement Analysis API of KtExpression.isUsedAsExpressionKT-54360KtPropertySymbol: support JvmField in javaSetterName and javaGetterName
Analysis API. FIR
KT-54311K2: proper implementation of KtSymbolPointerKT-50238Analysis API: Implement KSymbolPointer for KtSymbol
Analysis API. FIR Low Level API
KT-52160FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrappedKT-54826KtSymbolPointer: migrate from IdSignature to our own solution
Android
KT-54464MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style folders
Backend. Wasm
KT-56160Getting WebAssembly.CompileError in browsers not supported GC and other required proposalsKT-56166Fix compatibility with Firefox NightlyKT-55589Basic support of WASIKT-46773Implement an experimental version of the Kotlin/Wasm compiler backendKT-53790Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-Beta
Compiler
New Features
KT-55949Release experimental@Volatilesupport in nativeKT-44698Frontend (K2): print file name/line on compiler crash/exceptionKT-54666K2: Allow to skip specifying type arguments for members from raw type scopeKT-54535Implement custom equals and hashCode for value classes in Kotlin/JVMKT-54524Implement Java synthetic property references in compilerKT-54024K2: support -Xlink-via-signatures mode
Performance Improvements
KT-53330Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backendsKT-48759Infix compareTo boxes inline classesKT-55033Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline functionKT-33722JVM: Result API causes unnecessary boxing
Fixes
KT-53153Synthetic Enum.entries can be shadowed by user-defined declarationsKT-54140SOE atIrBasedDescriptorsKt.makeKotlinTypewith mixing recursive definitely not nullable type with nullabilityKT-56224Clarify message "Secondary constructors with bodies are reserved for for future releases" for secondary constructors in value classes with bodiesKT-54662K2: Assign operator ambiguity on synthetic property from javaKT-54507K2: WrongimplicitModalityfor interface inFirHelpersKT-55912"UnsupportedOperationException: Unsupported const element type kotlin.Any" caused bykotlinfqn in annotationKT-55251Enum.entries compilation error should be more specificKT-43296FIR: Complicated interaction between smart cast and inference leads to false-positive diagnosticKT-55483K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactoryKT-56188K/N: AssertionError when casting SAM wrapper with generic type parameterKT-54209K2: false positive deprecation on a class literal with deprecated companionKT-55408K2: can't access indirectly inherited from a package-private class Java members through a type aliasKT-55116K2: store static qualifiers in dispatch receiver fieldKT-55436K1: implement warning about shadowing of the derived property by the base class fieldKT-55368K2/MPP: Metadata compilerKT-53846K2 / Context receivers: ClassCastException on secondary constructor of class with context receiverKT-54305K1: implement warning "synthetic setter projected out"KT-52027"NullPointerException" when using context receivers with inline funKT-55984Stack allocated array is not cleaned between loop iterationsKT-52593Provide Alpha support for JS in the K2 platformKT-54656NoSuchMethodError on invoking Java constructor which takes an inline value class as a parameterKT-55606K2. Infix operator "in" works on ConcurrentHashMap when it's declared through another classKT-53884K2: "IllegalStateException: Fir is not initialized for FirRegularClassSymbol com/appodeal/consent/Consent.a" when importing this classKT-54502Synthetic extensions on raw types work differently from regular getter callsKT-49351FIR: Raw type scopes are unsupportedKT-49345FIR: Properly support raw types in type parameter upper boundsKT-55887K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpaKT-55733K2. Reference resolve works incorrectly for classes declared through typealiasKT-46369FIR: Investigate raw types for arraysKT-41794[FIR] Implement raw type based scopeKT-55181K2. No compilation error on throwing not throwableKT-55398Kotlin inline nested inline lambda's inline variable will inline not correctlyKT-55359K2. No error when secondary constructor does not delegate to primary oneKT-55759K2: Unresolved reference ofserializerif library linking is used (with kotlinx.serialization plugin)KT-54705Kotlin scripting doesn't support files with UTF-8 BOMKT-51753FIR: various errors due to expect/actual mapping absence in translatorKT-44515FIR DFA: extract non-null info from anonymous object's initializationKT-55018K2 / serialization: FIR2IR fails on local companionKT-55284Refactor org.jetbrains.kotlin.diagnostics.KtDiagnosticReportContextHelpersKt#reportOn(...)KT-55693K2. Type inference changed in k2KT-54332Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404KT-55597K2.This type has a constructor, and thus must be initialized hereerror is missed for anonymous object inherits class with no-arg constructorKT-52459Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclassesKT-54357"ClassCastException: class org.jetbrains.kotlin.resolve.scopes.receivers.ExtensionReceiver cannot be cast to class org.jetbrains.kotlin.resolve.scopes.receivers.ContextClassReceiver" with anonymous object extending a class with a context receiverKT-51397"VerifyError: Bad type on operand stack" with context receiversKT-54905KLIB check on compiled with pre-release versionKT-55615K2 often does not expand type aliases in annotation positionKT-54522K2: ambiguity between operator candidates on += (plusAssign) to reassigned var of MutableList typeKT-54300K2: No "Projections are not allowed for immediate arguments of a supertype" for projection in supertypes of an anonymous objectKT-55495K2: support lateinit intrinsic applicability checkerKT-33132Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclassKT-55288False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifierKT-54730K2: type aliases to generic functional interfaces attempt to re-infer explicitly specified type parametersKT-55611IC / MPP: Optional internal annotations are not visible on incremental buildsKT-55656K2: PRIMARY_CONSTRUCTOR_DELEGATION_CALL_EXPECTED being a warning causes a NPE in runtimeKT-51277"NoSuchElementException: Collection contains no element matching the predicate" with context receivers and star projectionKT-52791Class with multiple context receivers fails -Xvalidate-ir with "Validation failed in file"KT-55071Shared Native Compilation: Calls from intermediate common source set cannot use default parameters declared in expect common functionsKT-54573K2: untouched implicit types in delegated constructor call of data class with@JvmRecordKT-55037Support jspecify annotations moved to the new package org.jspecify.annotations in jspecify 0.3KT-48989JVM / IR: "IllegalStateException: Bad exception handler end" when first parameter of inline function is nullable with "try/catch/finally" default value and second parameter tries to call toString() on the firstKT-55231K2: Contract declarations are not passed to checkersKT-54411False positive: INFERRED_TYPE_VARIABLE_INTO_POSSIBLE_EMPTY_INTERSECTION on kotlinx.coroutines codeKT-55005Inconsistent behavior of array set operation in Kotlin 1.7.21KT-44625Property backing/delegate field annotations are not serialized/deserialized for non-JVM targetsKT-42490Receiver annotations are not serialized/deserialized for non-JVM targetsKT-53441K2: cannot access static method of package-private Java grandparent classKT-54197[K2] Exception from inliner for inline function with context receiverKT-55246Disable 'CustomEqualsInValueClasses' feature in 1.9 language versionKT-55247Disable 'InlineLateinit' feature in 1.9 language versionKT-53957K2 and -Xlambdas=indy: LambdaConversionException on reference to method with both context and extension receiversKT-55421K2: get rid of potentially redundant call of preCacheBuiltinClassMembers from getIrClassSymbolKT-52815Compiler option -Xjdk-release fails to compile mixed projectsKT-52236Different modality in psi and firKT-54921K2: cannot access static field of package-private Java parent classKT-53698K2: FIR2IR fails on call of inivisble extension function with SuppressKT-53920K2: "NoSuchElementException: Key org.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode is missing in the map" with unreachable code and anonymous objectKT-51290"AssertionError: Parameter indices mismatch at context" with context receiversKT-51475"ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contractKT-51247"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional typesKT-51951"IllegalStateException: No receiver" caused by implicit invoke on typealias context receiverKT-52373Context receivers: ClassCastException: function with dispatch, context, and extension receivers produces this when a parameter's default is includedKT-54807K2. Support@OnlyInputTypesdiagnostic checks (containslike calls)KT-54824K2: missing smartcast after two levels of aliasing and a reassignmentKT-53368Out of bounds read in sse version of String::hashCodeKT-51863ClassCastException when using context receivers with named argument.KT-55123JvmSerializableLambda is not applicable in common code in multiplatform projectsKT-45970Missing deprecation warnings for constant operators calls in property initializersKT-54851K2: analysis of as/is contains multiple errors that result in missing diagnosticsKT-54668K2: Inference error in body of lazy property with elvis with Nothing in RHSKT-53070Update intellij testdata fixes for FIR and merge it to masterKT-54950NoSuchMethodError on calling 'addAll' on inline class implementing mutable listKT-53492No parameter null check generated for constructor taking an inline class typeKT-55160Kotlin's fragment element types must not extendIStubFileElementTypeKT-55143K2: INAPPLICABLE_JVM_NAME in JVM does not work for inline classesKT-47933Report warning if kotlin.annotation.Repeatable is used together with java.lang.annotation.RepeatableKT-55035FIR: do not use FirValueParameter for FirFunctionalTypeRefKT-55095Wrong containingDeclarationSymbol in type parameter from EnhancementKT-53946K2: don't resolve Enum.declaringClass and Enum.getDeclaringClassKT-55074OptIn false negative: constructor call with default argument valueKT-54260K2: "AssertionError: No modifier list, but modifier has been found by the analyzer" when annotated annotation and AllOpen pluginKT-55034FIR: provide information about containing function/constructor to FirValueParameterKT-53988K2: False negative "The expression cannot be a selector (occur after a dot)"KT-53983K2 crashes with NPE when 'this' is used inside enum class constructorKT-53371Properly resolve FIR to get fully resolved annotationsKT-53519FIR: argument mapping for annotations on value parameter is not properly builtKT-54827MPP: "java.lang.IndexOutOfBoundsException: Index: 0" during compilation ofandroidMaintargetKT-54417K2: move receiver-targeted annotations to KtReceiverParameterSymbol and remove it from FirProperty receiver typeKT-54762Private constructor is accessible from a public inline function via@PublishedAPIannotationKT-54732DirectedGraphCondensationBuilder.paint fails with StackOverflowError during linkReleaseFrameworkIos64KT-54897K2: value class with private constructor stripped by jvm-abi-gen cannot be used in another moduleKT-54784NPE from IrSourceCompilerForInlineKt.nonLocalReturnLabel on non-local break and continue in anonymous initializers and in scriptsKT-54840Field for const property on interface companion object loses deprecated status when copied to interfaceKT-53825class files are generated when compilation fails with platform declaration clashKT-52157Annotation on type parameter isn't present in the symbol loaded from the libraryKT-54654K2: Implicit types leaks into delegated memberKT-53255[FIR2IR] StackOverflowError with long when-expression conditionsKT-48861No warning on incorrect usage of array type annotated as Nullable in JavaKT-54539@Deprecatedon members of private companion object is no longer neededKT-54401Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'KT-54455Unexpected result of equality comparison of inline class objectsKT-54378K2: smart cast breaks subtyping in case with complex projectionsKT-53761Reified type not propagated to supertype token through two inline functionsKT-53876Manually instantiated annotations with unsigned arrays are not equalKT-51740NO_VALUE_FOR_PARAMETER: Consider increasing error highlighting rangeKT-54084ClassCastException when trying to call a context receiver's methodKT-51282IllegalAccessError: Compiler for JVM 1.8+ makes lambdas access unaccessible classes when using@JvmMultifileClassesKT-53479False positive "Cannot access 'runCatching' before superclass constructor has been called"KT-50950JVM IR: "AssertionError: FUN SYNTHETIC_GENERATED_SAM_IMPLEMENTATION" when using bound reference to suspend SAM functionKT-49364"VerifyError: Bad type on operand stack" on cast which "can never succeed" from ULong to Int
IDE
Performance Improvements
KT-55445KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATE
Fixes
KT-55862Can't resolve kotlin-stdlib-js sources in IDEKT-55743K2 SLC: SymbolLightClassForClassOrObject must have a nameKT-55604Descriptor leakKT-55502SLC: drop redundant 'final' modifier from synthetic static enum membersKT-55497LC: drop@NotNullannotation from parameter from synthetic Enum.valueOfKT-55496SLC: generated synthetic enum methods by symbols instead of manual creationKT-55481SLC: implement correct java annotations for annotation classes (Retention, Target, etc.)KT-55470SLC: implement light class for RepeatableContainerKT-55442SLC: 'isInheritor' for 'DefaultImpls' should work correctlyKT-40609IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with ThrowsKT-54051Migrate symbol light classes from KtSymbol to KtElement
JavaScript
New Features
KT-35655Investigate could we use "names" field in SourceMaps to improve debug experienceKT-54118Kotlin/JS IR: keep declarations with non-minified names
Fixes
KT-55720KJS:ReferenceError: SuspendFunction1 is not definedwith 1.8 when importingkotlin.coroutines.SuspendFunction1KT-55930KJS: A recursive callable reference of the inline function leads broken cross module referencesKT-31888Kotlin/JS: make possible to callmain()in main run tasks, but not in test tasksKT-51581FIR: support JS backendKT-55786KJS: Rewriting of secondary constructors if they are protectedKT-52563KJS / IR: Invalid TypeScript generated for class extending base class with private constructorKT-55367KJS / IR + IC: Moving an external declaration between different JsModules() doesn't rebuild the JS codeKT-55240KJS: "NoSuchElementException: No element of given type found" caused by@JsExportandThrowable'schild classKT-54398KJS / IR + IC: Support *.d.ts generationKT-55144KJS / IR + IC: Modifying an inline function which is used as a default param in another inline function doesn't invalidate a callerKT-54134KJS / IR: "TypeError: Cannot read properties of undefined" in js block wrapped with suspend functions aroundKT-54911KJS / IR + IC: invalidate all klib dependencies after removing itKT-54912KJS / IR + IC: Commit cache header only in the end (after lowering)KT-52677Native: StackOverFlow during "kotlin.ir.util.RenderIrElementVisitor$renderTypeAnnotations$1.invoke"KT-54480KJS: "Exported declaration contains non-consumable identifier" warning when exporting modules as defaultKT-41294KJS: Weird behaviour of j2v8 in test infra
Language Design
KT-55344Deprecate@Synchronizedin platforms except JVM
Libraries
KT-55978Provide Common Base64 encoding in stdlibKT-46211[Kotlin/Native] Stack overflow crash in Regex classes with simple pattern and very large inputKT-31066Add Closeable & use to common stdlibKT-55609Introduce experimental kotlin.concurrent.Volatile annotationKT-39789Segfault in Kotlin/Native regex interpreterKT-35508EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)KT-53310Native: HashMap/HashSet doesn't reclaim storage after removing elements
Native
KT-55938[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev build
Native. C and ObjC Import
KT-55303Objective-C import: improve-fmodulesflag discoverability.KT-39120Cinterop tool doesn't support the -fmodules compiler argumentKT-40426Incorrect Objective-C extensions importing that prevents UIKit usageKT-55653Since Kotlin 1.8.0 NSView.resetCursorRects doesn't exist anymore and cannot override itKT-54284Kotlin/Native: cinterop produces non-deterministic metadata
Native. ObjC Export
KT-56350Kotlin/Native: restore "use Foundation" in generated Objective-C frameworksKT-53638Native: support disabling mangling globally for Swift names in generated Objective-C headerKT-53069SOE on K/N framework build for Arm64KT-53317ObjCName annotation is not applied to an extension receiver in Objective-C export
Native. Stdlib
KT-53064Native: provide stdlib API to obtain memory management statistics
Reflection
KT-27585Flaky IllegalPropertyDelegateAccessException: Cannot obtain the delegate of a non-accessible property. Use "isAccessible = true" to make the property accessibleKT-55178Improve performance of KCallable.callByKT-53279Reflection: "KotlinReflectionInternalError: Method is not supported" caused by@Repeatableannotation deserialization at runtime if it's repeated and contains arraysKT-44977Reflection: ClassCastException caused by annotations with "AnnotationTarget.TYPE" usage on array attributes access
Tools. CLI
KT-54652Enable -Xuse-fir-lt by default when -Xuse-k2 is turned on, provide way to disableKT-55784Unable to format compilation errors with ansi colors in compilation serverKT-54337CLI: compiling module-info.java without explicitly specified JDK home leads to a weird error
Tools. Commonizer
KT-47429[Commonizer] OKIO supportKT-51517C Interop Commonizer Fails On Classifier That Doesn't Exist
Tools. Compiler Plugins
KT-53590K2 Allopen does not look for transitive meta-annotationsKT-54020[K2] [NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER] error in case 'static Name' param was added to@ AllArgsConstructorannotation and an empty list is set as a constructor param valueKT-53096Create a pack of compiler utilities for generating declarations from pluginsKT-55248K2/PluginAPI: getCallableNamesForClass/generateClassLikeDeclaration are not called for synthetic companions of local classesKT-54756Deprecate "legacy" mode of jvm-abi-gen pluginKT-55233jvm-abi-gen strips out InnerClass attributesKT-54500Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-gen
Tools. Compiler plugins. Serialization
KT-49983Implement prototype of kotlinx.serialization for K2 compilerKT-54441Prohibit implicit serializer customization via companion objectKT-48733"AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameterKT-54297Regression in serializable classes with star projections
Tools. Gradle
New Features
KT-54492Send gradle build errors from ideaKT-55540Add compilation speed metric in build reportsKT-54691Kotlin Gradle Plugin libraries alignment platformKT-55541Validate FUS metrics values on Gradle side
Performance Improvements
KT-55995Add ability to perform precise compilation task outputs backupKT-54836Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+KT-54579Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11KT-54588KotlinCompile: Avoid callingFileCollection.getFiles()multiple times
Fixes
KT-52625Compatibility with Gradle 7.4 releaseKT-55544Gradle: add more debugging information for finding usages of kotlinOptions.freeCompilerArgsKT-52149Gradle: declare shared build services usages withTask#usesServiceKT-53811Compatibility with Gradle 7.6 releaseKT-52998Compatibility with Gradle 7.5 releaseKT-55741Gradle 8: Build service '' is being used by task '' without the corresponding declaration via 'Task#usesService'.KT-55174KotlinCompile task produces deprecation "Build service 'variant_impl_factories_...' is being used by task"KT-54425Kotlin Gradle Plugin should not use deprecated UsageContext#getUsage()KT-54998"kotlin.gradle.performance" FUS collector reports data twiceKT-55520Add required configuration for Kotlin Gradle Plugin API reference publicationKT-52963Build report code breaks Gradle project isolation.KT-55164KGP: "Cannot access project ':' from project ':list'" JVM - Project Isolation with Multi Modules and Configuration Cache failsKT-52490Gradle: [org.jetbrains.kotlin.gradle.testing.internal] TestReport.destinationDir and TestReport.reportOn deprecation warningsKT-55000Include information about the new IC into "kotlin.gradle.performance" FUS collectorKT-45748Migrate all Kotlin Gradle plugin Android tests to new test setupKT-54029Validate Binary Compatibility for kotlin-gradle-plugin-api
Tools. Gradle. Cocoapods
KT-41830CocoaPods integration: Support link-only mode for podsKT-55801Deprecate useLibrariesKT-55790Improper sdk selected for watchosDeviceArm64 target
Tools. Gradle. JS
New Features
KT-37759[Gradle, JS] Support arguments of command line for webpack and nodejs taskKT-33518Allow specifying command line args for node in nodejs or mocha testsKT-46163KJS / Ktor: Support run on the next free port if default one is occupied
Performance Improvements
KT-39108Kotlin multiplatform plugin targeting js takes too long compared to the old kotlin-frontend pluginKT-45411Investigate memory consumption in npm packageKT-55476KotlinWebpack should be cacheableKT-51376KJS / Gradle: Dukat tasks make impact on build time even if there's no npm dependencies
Fixes
KT-56131KJS / Gradle: Could not create an instance of type org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinNodeJs when task configuration avoidance is brokenKT-37668Kotlin/JS: nodeTest failure due to main() function fail is reported as "BUILD SUCCESSFUL"KT-35285Kotlin/JS + Gradle: browserDevelopementWebpack and browserProductionWebpack could write to different locationsKT-55593KotlinJsCompilerType and KotlinJsCompilerTypeHolder LEGACY and BOTH constants should be marked as@Deprecatedin 1.8KT-33291JS: No build result with gradle parallel build in multiproject buildKT-40925KJS: need a way to configure extra environment variables for the test taskKT-47236KJS:kotlinNpmInstallfails if no yarn is downloadedKT-53288KJS / Gradle: FileNotFoundException when customising moduleNameKT-54445KJS Remove dukat integrationKT-54421KJS / Legacy: Kotlin 1.7.20 fails when running tests on Node 14KT-54418KJS: Change test running with kotlin-test adapterKT-54132KJS IR: Sometimes karma failed on teamcity because of uninitialized browser
Tools. Gradle. Multiplatform
New Features
KT-53570multiplatform 'natural hierarchy' prototype
Fixes
KT-55873Unrequested dependencies leaking into common source sets: Regression after 703fd0fKT-55891Deprecate pre-HMPP flagsKT-56285TCS: Gradle Sync: IdeProjectToProjectCInteropDependencyResolver: Ensure lenient resolutionKT-56115Multiplatform;Composite Builds: Support import with cinterop commonization enabledKT-56204KotlinTargetHierarchy: Changing naming from 'any' to 'with' prefixKT-54974TCS: Gradle Sync: Implement IdeKotlinDependencyResolversKT-38712Gradle configuration's name with word "implementation" is camelcased to "İmplementation" if default locale is TurkishKT-54975TCS: Gradle Sync: Implement stdlib-common filter for platform source setsKT-36943Gradle Plugin (multiplatform) - Consider publishing a 'sourcesElements' variant for the sources.jarKT-48839Sources.jar of the root artifact of MPP library includes source files from test sourcesetsKT-55492TCS: Gradle Sync: Sources and Documentation as extra 'classpath'KT-55237TCS: Gradle Sync: Support stdlib-native sourcesKT-55475TCS: Gradle Sync: Fine tune jvmAndAndroid source setsKT-55189TCS: Gradle Sync: Support icons (native, js) and global librariesKT-55218KotlinTargetHierarchy: Disambiguate declaring targets vs including targetsKT-55112TCS: Gradle Sync: Resolve Source DependenciesKT-54977TCS: Gradle Sync: Implement debugging toolsKT-54948TCS: Gradle Sync: Port IdeaKpmPlatformDependencyResolver to TCSKT-55289TCS: Gradle Sync: Prototypical sources jar resolutionKT-55238TCS: Gradle Sync: Support commonized native distributionKT-55230Remove metadata dependencies transformation for runtimeOnly scopeKT-53338Prettify the message about incompatible AGP and KGP versionsKT-54506Test tasks are considered up-to-date after a failure when triggered byallTestsKT-54787Test tasks are not up-to-date when an individual test task called after aggregating test taskKT-54033Multiplatform/Android Source Set Layout 1: Also support setting source dirs using AGP ApisKT-54202CInterop Commonization fails on first run when native distribution is not yet commoniziedKT-54135Add documentation with examples to CompositeMetadataArtifact
Tools. Gradle. Native
KT-55650Pass through errors from Gradle to XcodeKT-56205Shared Native Compilation: False positive 'w: Could not find' warnings on metadata klibsKT-54969Support podspec generation for the new K/N artifact DSL
Tools. Incremental Compile
KT-53832Enable new incremental compilation by default in GradleKT-55309IC: Get rid ofNonCachingLazyStorageKT-53402Incremental compilation tries to compile resources
Tools. JPS
KT-56165Language version 1.9 and 2.0 is absent in Kotlin Compiler settingsKT-51536[JPS] Recompile module on facet settings changeKT-53735JPS / IC: "IOException: The system cannot find the file specified" on WindowsKT-47983[JPS] Adding compilerSettings to Facet should initiate rebuild of moduleKT-54449Cyrillic characters in a filename break builds on linux
Tools. Kapt
New Features
KT-53135Enable JVM IR for KAPT stub generation by defaultKT-41129kotlin-maven-plugin + kapt - allow aptMode to be set according to docs
Fixes
KT-54380Kapt / IR: Build failed when inheritance by functional interface with suspend modifierKT-55490Kapt + JVM IR: "annotation@Foois missing default values"KT-43786KAPT: IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScopeKT-43117Kapt: "System is already defined in this compilation unit"KT-46966Kapt: correctErrorTypes: receiver type is NonExistentClassKT-46965Kapt: correctErrorTypes: custom setter gets Object parameter typeKT-51087KAPT:@JvmRepeatableannotations are present in inverse order in KAPT stubsKT-54245JVM IR / Kapt / Serialization: NullPointerException in SerializableIrGenerator.ktKT-54870KAPT stub generation with JVM_IR backend throws exception for delegated propertiesKT-44350Kapt Gradle integration tests failing with Android Gradle plugin 7.0KT-33847Kapt does not included Filer-generated class files on compilation classpathKT-54030Kapt: annotation processor warnings are displayed as errors on JDK 17+KT-32596kapt replaces class generated by annotation processor with error.NonExistentClass when the class is used as an annotationKT-37586KAPT: When delegated property use an unknown type (to-be-generated class),correctTypeErrorwill mess up the$delegatefield type
Tools. Maven
KT-29346Add components.xml to automatically compile kotlin maven projectsKT-13995Maven: Kotlin compiler plugin should respect model's compile source rootsKT-54822Maven: Too low-level error message "Parameter specified as non-null is null: method kotlin.text.StringsKt__StringsJVMKt.startsWith, parameter " from Kotlin Maven plugin invoking compiler when tags are emptyKT-47110Disable jdk8-specific warnings in kotlin-maven-plugin
Tools. Scripts
KT-54461Warnings and stack traces when executing scripts via kotlin-maven-pluginKT-54733Scripts: ConcurrentModificationException in *.main.kts scriptsKT-53283Scripts: main-kts JAR does not relocate embedded SLF4J and jsoup librariesKT-54095It is difficult (if not impossible) to use kotlin compiler plugins with scripting
Checksums
| File | Sha256 |
|---|---|
| kotlin-compiler-1.8.20-Beta.zip | ed487b3555967bb09ca46c1ccd2fca8d6ce8a813fcbd7ab31c74887a5826370a |
| kotlin-native-linux-x86_64-1.8.20-Beta.tar.gz | 388df4048fa53d1137ce7ca1036d049061b6b7a5111f450dfbc6680d8bca30ed |
| kotlin-native-macos-x86_64-1.8.20-Beta.tar.gz | b6856aeecf104c92dfedf23a603477e45711e064db10174cf863b94d0cff92e5 |
| kotlin-native-macos-aarch64-1.8.20-Beta.tar.gz | eb8001fb8bf10ff599b749cf17761e4fe737b898b08bbbde07e03c082de6e856 |
| kotlin-native-windows-x86_64-1.8.20-Beta.zip | f7d8f466f142ea0c4ca4692353d09efa1e86689e12906f27ddf604675feb188b |