Update kotlin to v1.8.21 #746
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.8.10->1.8.211.8.10->1.8.21Release Notes
JetBrains/kotlin
v1.8.21Compare Source
Compiler
KT-57848Native: compilation of dynamic/static library fails with Xcode 14.3KT-57875Native compilation failure: Suspend functions should be lowered out at this point, but FUN LOCAL_FUNCTION_FOR_LAMBDAKT-57946KAPT: "RuntimeException: No type for expression" with delegateJavaScript
KT-57356KJS: StackOverflowException on @JsExport with type parameters referring to one anotherTools. Compiler plugins. Serialization
KT-58067Serialization: NullPointerException caused by @Contextual property with type with genericKT-57730Serialization: "IllegalStateException: Serializer for element of type .Foo has not been found" caused by serialization of Java typeTools. Gradle. JS
KT-57766KJS / Gradle "Module not found: Error: Can't resolve 'kotlin-kotlin-stdlib-js-ir'" when using "useEsModules"Tools. Kapt
KT-58027Kotlin 1.8.20 kapt issue "null: KtCallExpression: build()"Tools. Maven
KT-58048Maven: "Too many source module declarations found" after upgrading to 1.8.20KT-58101'Unable to access class' in kotlin-maven-plugin after updating to Kotlin 1.8.20v1.8.20Compare Source
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 javaGetterNameAnalysis API. FE1.0
KT-55825AA FE1.0: stackoverflow when resolution to a function with a recursive type parameterAnalysis API. FIR
KT-54311K2: proper implementation of KtSymbolPointerKT-50238Analysis API: Implement KSymbolPointer for KtSymbolAnalysis API. FIR Low Level API
KT-52160FIR: Substitution overrides on FirValueParameter-s are incorrectly unwrappedKT-55566LL FIR: Tests incompiler/testData/diagnostics/tests/testsWithJava17fail under LL FIRKT-55339LL FIR: Missing RECURSIVE_TYPEALIAS_EXPANSION error in function type aliasKT-55327LL FIR: Diverging UNRESOLVED_REFERENCE errors in recursive local function testKT-54826KtSymbolPointer: migrate from IdSignature to our own solutionAndroid
KT-54464MPP, Android SSL2: Add a flag for suppressing warning in case of using Android Style foldersBackend. Wasm
KT-38924Wasm support in nodejsKT-56160Getting WebAssembly.CompileError in browsers not supported GC and other required proposalsKT-46773Implement an experimental version of the Kotlin/Wasm compiler backendKT-56584K/Wasm: Can't link symbol classKT-56166Fix compatibility with Firefox NightlyKT-55589Basic support of WASIKT-53790Reading from "node:module" is not handled by plugins error with Kotlin/Wasm 1.7.20-BetaCompiler
New Features
KT-54535Implement custom equals and hashCode for value classes in Kotlin/JVMKT-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-54524Implement Java synthetic property references in compilerKT-54024K2: support -Xlink-via-signatures modePerformance Improvements
KT-33722JVM: Result API causes unnecessary boxingKT-53330Optimize for-loops and contains over open-ended ranges with until operator (..<) for all backendsKT-54415JVM BE: performance loss related to multi-field inline class loweringKT-48759Infix compareTo boxes inline classesKT-55033Make org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl#runTransaction an inline functionKT-54501Improve code generation for inline classes with custom equalsFixes
KT-56965K/N: linkDebugFrameworkIosArm64 tasks failing with UnsupportedOperationException: VAR name:disposables type:com.badoo.reaktive.disposable.CompositeDisposable [val]KT-56611Native: new native caches are broken when KONAN_DATA_DIR is defined to a directory inside ~/.gradleKT-55251Enum.entries compilation error should be more specificKT-56527K2: "AssertionError: Assertion failed" during compilation in SequentialFilePositionFinderKT-56526InvalidProtocolBufferException on reading module metadata compiled by K2 in 1.8.20KT-57388Kapt+JVM_IR: "RuntimeException: No type for expression" for delegated propertyKT-53153Synthetic Enum.entries can be shadowed by user-defined declarationsKT-51290"AssertionError: Parameter indices mismatch at context" with context receiversKT-57242Equals behaviour for value classes implementing interfaces is different between 1.8.10 and 1.8.20-RCKT-57261"IllegalArgumentException was thrown at: MemoizedInlineClassReplacements.getSpecializedEqualsMethod" when comparing non-inline class instance with an inline class instanceKT-57107Handling of Windows line endings CRLF broken in latest snapshot with K2KT-57117K2: Compiler reports invalid columns in diagnostics in case of crlf line endingsKT-56500The type parameter TYPE_PARAMETER name:E index:0 variance: superTypes:[kotlin.Any?] reified:false is not defined in the referenced function FUN LOCAL_FUNCTION_FOR_LAMBDAKT-56258VerifyError: Bad local variable type when using -XdebugKT-54455Unexpected result of equality comparison of inline class objectsKT-56251Generic Java synthetic property references don't work in K2KT-55886K2: Wrong code location mapping with Windows line endingsKT-43296FIR: Complicated interaction between smart cast and inference leads to false-positive diagnosticKT-57053Problem around anonymous objects in inline functionsKT-54950NoSuchMethodError on calling 'addAll' on inline class implementing mutable listKT-56815compileKotlin task is stuck with while(true) and suspend functionKT-56847Unresolved reference to Java annotation in Kotlin class with the same name packagesKT-52459Context receivers: AbstractMethodError caused by Interface method with both an extension and a context receiver is overriden incorrectly in subclassesKT-56215JVM: Object extension function nullable receiver null check false negative when object is nullKT-56188K/N: AssertionError when casting SAM wrapper with generic type parameterKT-56033Restore 'isMostPreciseContravariantArgument' function signature for compatibilityKT-56407Backend Internal error: Exception during IR lowering during:daemon-common-new:compileKotlinKT-55887K2. "IllegalStateException: org.jetbrains.kotlin.ir.expressions.impl.IrErrorCallExpressionImpl is not expected" on adding kotlin.plugin.jpaKT-56701K2 (with LightTree) reports syntax errors without additional informationKT-56649K2 uses 0-index for line numbers rather than 1-indexKT-54807K2. Support@OnlyInputTypesdiagnostic checks (containslike calls)KT-51247"AssertionError: org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl" caused by context receiver functional typesKT-55436K1: implement warning about shadowing of the derived property by the base class fieldKT-56521Static scope initializers sometimes not called when first accessed from interopKT-49182Strange cast from Unit to StringKT-55288False negative WRONG_ANNOTATION_TARGET on type under a nullability qualifierKT-33132Cannot override the equals operator twice (in a class and its subclass) unless omitting the operator keyword in the subclassKT-56061K1 does not report error on inconsistent synthetic property assignmentKT-55483K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactoryKT-55125Difference in generated bytecode for open suspend functions of generic classesKT-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-56018[K2/N] Fir2Ir does not take value parameters annotations from FIR to IRKT-56091[K2/N] Fix various property annotationsKT-54209K2: false positive deprecation on a class literal with deprecated companionKT-55977[K2/N] Suspend function reference type is wrongly serialized to klibKT-55493K2: False-negative VAL_REASSIGNMENTKT-55372K2: false-negative INVISIBLE_MEMBER for call of static method of package-private Java grandparent classKT-55371K2: compiled code fails trying to call static method of package-private Java grandparent classKT-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-55996K2: cannot switch the light tree mode off with -Xuse-fir-lt=falseKT-55368K2/MPP: Metadata compilerKT-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-56015Remove unnecessary stack traces for special checks for ObjC interopKT-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-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-54742K2: lambda with conditional barereturninferred to return Any, not UnitKT-54332Add deprecation warning for false-negative TYPE_MISMATCH for KT-49404KT-55509Invisible fake overrides are listed among lazy IR class membersKT-55597K2.This type has a constructor, and thus must be initialized hereerror is missed for anonymous object inherits class with no-arg constructorKT-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-55494MPP. Error when building for native: Compilation failed: Global 'kclass:io.ktor.serialization.$deserializeCOROUTINE$0' already existsKT-54980K2: Explicit type arguments in calls with the wrong number of type arguments are not resolvedKT-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-55324K2: ControlFlowGraphBuilder fails with index out of bounds exceptionKT-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-52193Native: Unable to call primary constructor with default values in an actual class without passing the values, in nativeMain source setKT-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: Keyorg.jetbrains.kotlin.fir.resolve.dfa.cfg.ClassExitNode@ef115abis missing in the map" with unreachable code and anonymous objectKT-55358INTEGER_OPERATOR_RESOLVE_WILL_CHANGE is not reported in return positions of functionsKT-51475"ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" with context(Any) on inline function with contractKT-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-54220K2: compiler fails on compiling plus expression on unsigned intKT-54692K2: compiler fails on compiling unsigned shiftsKT-54824K2: missing smartcast after two levels of aliasing and a reassignmentKT-53368Out of bounds read in sse version of String::hashCodeKT-54978K2: Property accesses with explicit type arguments pass frontend checkersKT-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-55269FIR2IR: Static functions and nested classes are missing from Fir2IrLazyClassKT-55026K2: Function hides internal constructor from another moduleKT-53070Update intellij testdata fixes for FIR and merge it to masterKT-53492No parameter null check generated for constructor taking an inline class typeKT-50489Smart cast may lead to failing inferenceKT-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-54673K2. "Superclass is not accessible" from interface error for sealed interfacesKT-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-54744K2: reassigning a var erases smartcast info of a variable derived from the old valueKT-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-54910Can not declare typed equals operator in inline class with "Nothing" return typeKT-54909Usage of custom typed equals operator in generic inline class is type-unsafeKT-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-54972K2: Local functions with multiple type arguments are brokenKT-54762Private constructor is accessible from a public inline function via@PublishedAPIannotationKT-54832Deprecate incorrect callable references resolution behavior for KT-54316KT-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-54526K2: Raw type scope is lost after exiting from elvisKT-54570K2: False-positive OVERLOAD_RESOLUTION_AMBIGUITY in case of combination of raw typesKT-52157Annotation on type parameter isn't present in the symbol loaded from the libraryKT-54318VerifyError on{ null }in catch blockKT-54654K2: Implicit types leaks into delegated memberKT-54645K2: Clash of two inherited classes with the same nameKT-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-54403Unexpected behaviour on overridden typed equals in inline classKT-54536Unexpected result of comparison of inline class instancesKT-54603ClassCastException on comparison of inline classes with custom equalsKT-54401Unhandled exception on compilation inline class with 'equals' from 'Any' returning 'Nothing'KT-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 IntKT-51478Inapplicable receiver diagnostic expected when there are two context receiver candidatesDocs & Examples
KT-32469@Synchronizedon extension method doesn't generate instance lockIDE
New Features
KTIJ-24378Update Kotlin plugin to 1.8.0 in IDEA 223.2Performance Improvements
KT-55445KtUltraLightClassModifierList.hasModifierProperty requires resolve for PsiModifier.PRIVATEFixes
KTIJ-24657Disable pre-release and other metadata checks in IDEKT-55929Unresolved dependencies for intermediate multiplatform SourceSetsKTIJ-24179Bundle Kotlin 1.8.0 with Intellij IDEA 2022.3.2KTIJ-23547K2 IDE: Functional type: explicit parameter name VS ParameterName annotationKTIJ-23347K2 IDE. False positive "Symbol fun intFun(): Unit is invisible" in testsKT-55862Can't resolve kotlin-stdlib-js sources in IDEKTIJ-23587K2: SOE in delegate field resolutionKT-55782[SLC] Typealiases are not exapnded in arguments of annotationsKT-55778[SLC] Incorrect determination of useSitePostion for types of local declarationsKT-55780[SLC] No approximation of anonymous and local types in membersKT-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 correctlyKTIJ-23449K2: "parent must not be null" from SymbolLightClassBase.getContext()KT-40609IDE: False positive "Exception is never thrown..." in Java when Kotlin getter is annotated with ThrowsKT-54051Migrate symbol light classes from KtSymbol to KtElementIDE. Completion
KTIJ-22503Support code completion for data objectsKTIJ-22361ISE “java.lang.IllegalStateException: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl ” on K2IDE. Debugger
KTIJ-24259Debugger is stuck in an infinite loop in an Android projectKTIJ-24003Smart step into doesn't work for Java synthetic properties referencesKTIJ-24039Support smart step into for property settersIDE. Decompiler, Indexing, Stubs
KTIJ-24351Kotlin Bytecode tool window: NullPointerException during inlining of inline function with object literalIDE. Gradle Integration
KTIJ-24616Gradle Integration: "NoSuchMethodError: 'java.util.Collection org.jetbrains.kotlin.idea.projectModel.KotlinCompilation.getDeclaredSourceSets" during sync fail after updating Kotlin IJ Plugin to 1.8.20-BetaKT-55347Broken IDE sync for js: java.lang.IllegalStateException: Accessing Compile Dependencies Transformations is not yet initialisedKTIJ-23781TCS: Gradle Sync: Support friend&dependsOn via IdeaKotlinSourceDependencyIDE. Gradle. Script
KT-56941Gradle KTS / Navigation: Go to declaration for Java types doesn't workIDE. Inspections and Intentions
KTIJ-23404K2 IDE. Platform type is inserted as type parameter for "Change return type" intentionKTIJ-24319"Set module version to *" quickfix isn't workingKTIJ-23225"Change package" intention unintentionally and intractably replaces text inside of critical strings and commentsKTIJ-23892UsePropertyAccessSyntaxInspection should also suggest replacing getter method references with method synthetic properties referencies after Kotlin 1.9KTIJ-22087Support IDE inspections for upcoming data objectsKTIJ-24286Constant conditions: false positive "Cast will always fail" with cast of java.lang.String to kotlin.StringKTIJ-23859ConvertObjectToDataObjectInspection support more hashCode and toString casesKTIJ-23760Get rid ofreadResolvelogic in ConvertObjectToDataObjectInspectionIDE. KDoc
KTIJ-24342KDoc: First line break character is swallowed when pastedIDE. Misc
KTIJ-24370Remove link to k2.xml from plugin.xml in kt-223 branchesKTIJ-24210Compatibility issue with the CUBA pluginIDE. Multiplatform
KTIJ-21205MPP: Kotlin not configured error is shown for K/N sources if Android target is presentedKT-52172Multiplatform: Support composite buildsKT-56198Multiplatform;Composite Builds: import fails if single jvm target multiplatform project consume included jvm buildKTIJ-24147MPP: NullPointerException: versionString must not be nullIDE. Refactorings. Move
KTIJ-24243Move declarations: "Search in comments and strings" and "Search for text occurrences" options are always enabled when files are movedIDE. Script
KT-56632Script configuration cannot be loaded for embedded code snippetsIDE. Wizards
KTIJ-24562Android target created by wizard contains AGP higher than supportedKTIJ-24402Changes "Browser Application for Kotlin/Wasm" wizard templateKTIJ-23525Wizard: Compose multiplatform: project won't build and require higher compileSdkVersionJavaScript
New Features
KT-54118Kotlin/JS IR: keep declarations with non-minified namesKT-35655Investigate could we use "names" field in SourceMaps to improve debug experienceFixes
KT-55971KJS: Result of suspend function cannot be assigned to property of dynamic valueKT-52374KJS / IR: caling suspend function as dynamic ignores the rest of the expressionKT-56884KJS: "Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier." caused by enum and array inside the companion objectKT-51122Provide fully-qualified method name in Kotlin/JS source mapsKT-56602KJS / Serialization: polymorphicDefaultDeserializer unbound on Kotlin 1.8.20-BetaKT-56580KJS: languageVersionSettings string is unstableKT-56581KJS: Lock file for incremental cacheKT-56582KJS: Function type interface reflection crashes the compiler in incremental buildKT-55720KJS:ReferenceError: SuspendFunction1 is not definedwith 1.8 when importingkotlin.coroutines.SuspendFunction1KT-56469KJS: BE Incremental rebuild spoils source map commentKT-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 infraKT-54173Kotlin/JS + IR: failed to providekeepsetting to avoid DCE remove of default interface function from implementing objectLanguage Design
KT-55451Preview of lifting restriction on secondary constructor bodies for value classesKT-54621Preview of Enum.entries: modern and performant replacement for Enum.values()KT-54525Preview of Java synthetic property referencesKT-55337Preview of data objectsKT-55344Deprecate@Synchronizedin platforms except JVMLibraries
KT-35508EXC_BAD_ACCESS(code=2, address=0x16d8dbff0) crashes on iOS when using a sequence (from map() etc.)KT-56794Libraries: "Recursively copying a directory into its subdirectory is prohibited" Path.copyToRecursively fails on copying from one ZipFileSystem to another ZipFileSystemKT-55935[Kotlin/JVM] Path.copyToRecursively does not work across file systemsKT-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-53310Native: HashMap/HashSet doesn't reclaim storage after removing elementsNative
KT-56443Native link task reports w: Cached libraries will not be used for optimized compilationKT-55938[Kotlin/Native] Inline functions accessing ObjC class companion cause compiler to crash when building static caches in 1.8.20 dev buildNative. 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 metadataNative. ObjC Export
KT-56350Kotlin/Native: restore "use Foundation" in generated Objective-C frameworksKT-55736Native: exporting suspend function from a cached dependency to Objective-C crashes with "Suspend functions should be lowered out at this point"KT-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 exportNative. Stdlib
KT-53064Native: provide stdlib API to obtain memory management statisticsReflection
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 accessTools. CLI
KT-570771.8.20-RC-243shows Java 19 warnings even if configured with Java 17 toolchainKT-56992Performance test regression in Gradle when switching to Kotlin 1.8.20KT-56789Metaspace memory leak in CoreJrtFileSystemKT-56925Remove warning about assignment pluginKT-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-54718K2: Compiler crashes with "IllegalArgumentException: newPosition > limit"KT-54337CLI: compiling module-info.java without explicitly specified JDK home leads to a weird errorTools. Commonizer
KT-47429[Commonizer] OKIO supportKT-51517C Interop Commonizer Fails On Classifier That Doesn't ExistTools. Compiler Plugins
Fixes
KT-53590K2 Allopen does not look for transitive meta-annotationsKT-56487Add more methods to DescriptorSerializerPluginKT-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-54994K2 plugin API: Compile-time constants are not evaluated before IRKT-55023K2 plugin API: Compilation with Kotlin daemon fails after certain number of triesKT-55286K2: Parcelize plugin sometimes can't find nested objects in current classKT-54500Private type aliases can be referenced from public declarations, but are stripped by jvm-abi-genTools. Compiler plugins. Serialization
KT-56738Unexpected SERIALIZER_NOT_FOUND when compiling against binary with enumKT-56990"AssertionError: SyntheticAccessorLowering should not attempt to modify other files" in kotlinx-serialization using@Serializerand List argumentKT-54441Prohibit implicit serializer customization via companion objectKT-49983Implement prototype of kotlinx.serialization for K2 compilerKT-48733"AssertionError: Unexpected IR element found during code generation" caused by Serialization and annotation with default parameterKT-54297Regression in serializable classes with star projectionsTools. Gradle
New Features
KT-54691Kotlin Gradle Plugin libraries alignment platformKT-54492Send gradle build errors from ideaKT-55540Add compilation speed metric in build reportsKT-55541Validate FUS metrics values on Gradle sidePerformance Improvements
KT-54836Kotlin/JVM Gradle plugin creates task eagerly on Gradle 7.3+KT-55995Add ability to perform precise compilation task outputs backupKT-54579Kapt tasks slow down significantly on Windows when running with JDK 17 compared to JDK 11KT-54588KotlinCompile: Avoid callingFileCollection.getFiles()multiple timesFixes
KT-57296Build statistics sending errors in case of buildSrc directory usage with kotlin-dsl plugin appliedKT-56645Gradle: KGP reports an incorrect resources processing task name for JVM projectsKT-55824DeprecatecommonMain.dependsOn(anything)in user scriptsKT-56221Gradle KTS: False positiveVal cannot be reassignedwhen using an extension and its property with an implicitsetoperatorKT-55452Values of the compiler arguments set via KotlinCoConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.