Update dependency org.jetbrains.kotlin:kotlin-maven-allopen to v2.1.0
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| org.jetbrains.kotlin:kotlin-maven-allopen (source) | build | minor |
2.0.21 -> 2.1.0
|
Release Notes
JetBrains/kotlin (org.jetbrains.kotlin:kotlin-maven-allopen)
v2.1.0: Kotlin 2.1.0
Changelog
Analysis API
New Features
-
KT-68603KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
Performance Improvements
-
KT-70757Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
Fixes
-
KT-70437Class reference is not resolvable -
KT-57733Analysis API: Use optimizedModuleWithDependenciesScopes in combined symbol providers -
KT-72389K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class -
KT-69190K2: False-positive "redundant private modifier" -
KT-64984Analysis API: Support Wasm target -
KT-70375K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer -
KT-71259K2 evaluator: Invalid smart cast info collecting for Code Fragments -
KT-69360Lack of implicit receiver for the last statement under lambda in scripts -
KT-70890Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches -
KT-70657Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars -
KT-71055Suspend calls inside 'analyze()' break the block guarantees -
KT-70815Analysis API: Implement stop-the-world session invalidation -
KT-69819K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified -
KT-68761Analysis API: Experiment with limited-size cache inKaFirSessionProvider -
KT-70384Analysis API Standalone: The same class in the same two renamed jars is unresolved -
KT-71067Exceptions from references cancel Find Usages -
KT-69535Redesign 'containingSymbol' -
KT-71025K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values -
KT-67483K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call -
KT-69416K2 IDE / Completion: “No classifier found” on simple value creating -
KT-70257CCE: class kotlin.UInt cannot be cast to class java.lang.Number -
KT-70376K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class -
KT-70264AA: service registration via XML fails with AbstractMethodError in Lint CLI -
KT-69950Analysis API: IntroduceisSubtypeOf(ClassId) -
KT-68625K2: “lazyResolveToPhase(STATUS)cannot be called from a transformer with a phase STATUS.” -
KT-67665K2: contract violation for value class with a constructor parameter with an implicit type -
KT-67009Analysis API: Add abbreviated type tests for type aliases from source modules -
KT-69977KaFirFunctionalType#getAbbreviation is always null -
KT-68341Analysis API: Expanded function types from libraries don't have an abbreviated type -
KT-68857Analysis API: Refactor annotations -
KT-70386Do not filter out overloads from different libraries in dangling files -
KT-65552K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment -
KT-65803K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments" -
KT-68896Support VirtualFile binary dependency inputs to Analysis API modules -
KT-69395K2 IDE: incorrect overload selection from binary dependencies in a shared native source set -
KT-68573ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue() -
KT-69576Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls -
KT-69568Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls -
KT-69436Analysis API Platform: EncapsulateLLFirDeclarationModificationServiceas an engine service -
KT-63004K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices) -
KT-69452AA FIR: wrong source PSI after compile-time evaluation -
KT-69598AA: definitely not-null type at receiver position should be wrapped in parenthesis -
KT-60484Analysis API: add support for KtType pointers similar to KtSymbolPointer -
KT-68884Analysis API: Rename/deprecate/remove declarations as part of Stabilization -
KT-69453AA FIR: miss to handle expected type of lambda with explicit label -
KT-69533Protect implementation parts of Analysis API with opt-in annotations
Analysis API. FIR
Performance Improvements
-
KT-71566FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over -
KT-71224Analysis API:FirElementFinder.collectDesignationPathrelies on naive iteration through FIR files
Fixes
-
KT-70327Analysis API: Batch inspection causes deadlock inValueWithPostCompute -
KT-69070Analysis API: Querying declared member scope for Java symbols results in exception in some use cases -
KT-68268LLSealedInheritorsProvider: reduce scope to kotlin files -
KT-69671TYPES phase contract violation through JavaSymbolProvider -
KT-70624Declaration symbols from code fragments are treated as not local -
KT-70662NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty -
KT-70859Do not fail highlighting due to resolution problems -
KT-70474FirLazyResolveContractViolationException from JavaSymbolProvider -
KT-70323FirLazyResolveContractViolationException:lazyResolveToPhase(TYPES)cannot be called from a transformer with a phase TYPES -
KT-71567LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand -
KT-71584getNonLocalContainingOrThisDeclarationtreats KtParameter from functional type as non-local
Analysis API. Light Classes
Performance Improvements
-
KT-69998Drop redundant cache from ClassInnerStuffCache
Fixes
-
KT-69833Support value classes -
KT-71693Wrong name mangling for JvmField class property and companion property clash -
KT-71469KtLightClassForDecompiledDeclaration: missed kotlinOrigin -
KT-70710Provide light classes for KMP modules in Android Lint -
KT-70548SLC: text of class object access expression is not the same as raw text -
KT-70572SLC: missingisInheritorimplementation for type parameter -
KT-70491SLC: inconsistent source PSI of no-arg constructor for all default values -
KT-70458SLC: missedauxiliaryOriginalElementfor delegated property -
KT-70232Support a companion object inside value classes -
KT-70349@delegate:` annotations are missed for light class fields -
KT-68328Move KtLightClassBase to ULC
Analysis API. Providers and Caches
-
KT-65618K2: resulted FirClass.psi != requested PsiClass from completion -
KT-69292K2: Analysis API: A property'sMUST_BE_INITIALIZEDdiagnostic is not updated after changingfieldusage in an accessor -
KT-71468Drop redundant logic from LLFirJavaFacadeForBinaries -
KT-71700Cache result of resolveToCall -
KT-71520Analysis API:LLFirNativeForwardDeclarationsSymbolProviderspends a lot of time in indices
Analysis API. Standalone
-
KT-65110Analysis API: In Standalone mode the order of symbols is unstable
Analysis API. Stubs and Decompilation
-
KT-71565KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
-
KT-69960resolveToCallCandidatesshould support operators -
KT-69961resolveToCallCandidatesshould support properties
Performance Improvements
Fixes
-
KT-69371Analysis API: expose only interfaces/abstract classes for the resolution API -
KT-69696KaSymbolByFirBuilder should filter call-site substitutions -
KT-69679KaDelegatedConstructorCall should have substituted signature -
KT-70206anonymousSymbolAPI throws an exception for regular functions -
KT-69699Receiver type is not substituted in the case of conflict declarations -
KT-69381Analysis API: Investigate the viability of currentKaSymbolcaches -
KT-70199K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments -
KT-70661Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer -
KT-70663KaFirDestructuringDeclarationSymbol: Failed requirement -
KT-63490Analysis API: Accessing the Analysis API should be prohibited during dumb mode -
KT-63390K2: Analysis API: add annotations to KtClassInitializerSymbol -
KT-55124Design common ancestor for KtValueParameter and KtReceiverParameterSymbol -
KT-71731directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
Apple Ecosystem
-
KT-66262Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin -
KT-66894XCFramework task fails when name passed to xcframework DSL is different from framework's name -
KT-65675XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks -
KT-69119xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
Backend. Wasm
New Features
-
KT-70786Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm -
KT-70331Support incremental compilation for the Wasm backend -
KT-71686K/Wasm: Add functions to convert between Kotlin and JS array types -
KT-68185[WasmJs] Attach js exception object to JsException
Fixes
-
KT-71294Wasm Artifacts/Resource are being loaded relatively instead of absolutely -
KT-71473K/Wasm: Use--closed-worldand related options for Binaryen -
KT-72297[Wasm] Unused associated object class lead to compiler fail -
KT-72156custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public -
KT-65799K/Wasm: remove default exports from wasm exports -
KT-71800Wasm compiler: Fix member generation for data classes with an array-type property -
KT-71580String::toFloat on wasm behaves differently compared to other targets -
KT-71523K/Wasm: cleanup after fix for KT-71474 -
KT-71475K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects -
KT-71474K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modules -
KT-61130K/Wasm: Function signatures may clash with base class internal methods from a friend module -
KT-70820[Kotlin QG] wasm-validator fails when running compile[...]KotlinWasmJsOptimize -
KT-70819[Kotlin QG] node.js fails when running wasmJs[...]Test KGP tasks -
KT-70394Investigate increased wasm binary size after switching stdlib compilation to K2 -
KT-69627Removecreate###Arrayfunctions from WASM stdlib -
KT-68509Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
Compiler
New Features
-
KT-71094Kotlin/Native incremental compilation: fail compilation if cache build failed -
KT-21908Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound -
KT-70679Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping -
KT-59798Builder inference is not working when combined withletexpression -
KT-54227Cannot use nullable Nothing as reified type parameter -
KT-71430Kotlin-to-Java direct actualization implementation -
KT-68163Expose supplementary compiler warnings via CLI -
KT-69321Swift export: enable auto-linkage of binary dependencies -
KT-11526Improve diagnostics for "X overrides nothing" -
KT-49710False positive NO_ELSE_IN_WHEN with nullable type as receiver -
KT-69729Support calling super interface Java methods from Kotlin interface -
KT-69508Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
Performance Improvements
-
KT-71353FP Kotlin performance degradation (around Cone types hierarchy changes) -
KT-71159[K2] OOM on large enum classes with fields -
KT-69718K2: Check for jvm nullability annotations in fir2ir is slow -
KT-68417Native: LLVM 16 inliner is slow on K/N-produced modules -
KT-63971K2: Redundant@ParameterNamein abbreviated type in metadata
Fixes
-
KT-71550JVM IR: NPE on identity equals of boolean true with null -
KT-72214-fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20 -
KT-68933CompilationException: Back-end: Could not get inlined class -
KT-72255Promote jspecify from warning to error -
KT-73065CCE with context receivers -
KT-61033K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION -
KT-72345K2: Method 'get' without@Overrideannotation not called -
KT-71260K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect -
KT-72996false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator -
KT-72552AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types -
KT-71751K2: Skipping code in last statement of lambda -
KT-71121Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments -
KT-60521Drop language versions 1.4 and 1.5 -
KT-70461K2: "Inline class types should have the same representation" caused by value class and smart check -
KT-72238Argument type mismatch in builder inside extension function after ?: -
KT-70306K2: Lambdas are unserializable: inferred from Java param? super I -
KT-67383Incorrect optimisation when optimising for loop with UByte -
KT-68653Switch latest stable language version in Kotlin project to 2.1 -
KT-71708False negative UNSUPPORTED for collection literals as trailing return value -
KT-72281K/N: "Failed to wait for cache to be built" -
KT-72017Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts -
KT-69040PCLA: deal with "deep" calls that can be fully analyzed properly -
KT-69920K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation -
KT-69549Try to move callable reference transformation earlier in pipeline -
KT-63944Kotlin/Native: Cache flavor selection doesn't respect GC kind -
KT-71649K2: Put operator on mutableMap<T?, V>() causes crashes on null key -
KT-70667K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clause -
KT-70562@SubclassOptInRequiredcannot accept multiple experimental marker -
KT-69407K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker -
KT-71508JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class -
KT-72178K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMap -
KT-70407Error/warning message for@SubclassOptInRequired-annotated class should provide more context -
KT-72302K2: no error on type operator in annotation parameter default value -
KT-58820OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequired -
KT-71662PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable -
KT-69739K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references -
KT-72154Dokka fails withnot array: KClass<out Annotation>on Kotlin 2.1.20-dev with@SubclassOptInRequired -
KT-70756K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda -
KT-72173K2: simple object names from root package are resolved without imports in non-root packages when used as values -
KT-71480JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created -
KT-71034Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt -
KT-71016K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt -
KT-52469Deprecate reified type parameter instantiating into intersection types -
KT-71753PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment -
KT-59871K2: Fix introduced diagnostics -
KT-71563'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization -
KT-64741Avoid leaking ConeTypeVariable types in diagnostics from PCLA -
KT-60447Builder inference fails to infer generic type argument from local class -
KT-69170K2: "Unresolved reference" caused by generics and fun interfaces -
KT-71756K2 evaluator: broken resolve of private members during debug of Kotlin project itself -
KT-68893Invalid annotation in contract crashes with K2 -
KT-71490K2: missing REDUNDANT_ELSE_IN_WHEN -
KT-64403Implement BlackBoxCodegenTestSpecGenerated for K2 -
KT-71551JVM IR K1: NPE on generating a function imported from an object from another module -
KT-71210K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objects -
KT-71528K2/JVM: ClassCastException around Array<Nothing?> -
KT-71228K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type -
KT-71738K2: False negative REDECLARATION inside object expression -
KT-71701K2: false positive CAN_BE_VAL with lateinit and non-in-place lambda -
KT-68694K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry -
KT-70970K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface -
KT-70824K2: NoSuchFieldException when evaluating private extension property -
KT-70390K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation -
KT-68701K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda -
KT-68695K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property -
KT-70861K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class -
KT-34911Improve error message for WRONG_ANNOTATION_TARGET: list applicable targets -
KT-71601K2: When with a subject of type dynamic always considered exhaustive -
KT-33091Kotlin/Native: Compiler crashes if an external class is declared -
KT-59651K1/K2: Assertion error on external enum usage attempt -
KT-69939Extract a category of internal FIR checkers from supplementary FIR checkers -
KT-70850Pull down typeArguments from ConeKotlinType to ConeClassLikeType -
KT-71117K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type -
KT-71251Native & JS K2: Missing check for callingisInitializedinside inline fun -
KT-70161Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages -
KT-71215K2: UB due to the erroneous greening of the red code with multiple delegation with java -
KT-59386K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCH -
KT-69564Make using -Xuse-k2 compiler flag an error -
KT-69756TypeOfLowering: don't create constant object nodes before inlining -
KT-66328K2: implement an error for KT-66324 -
KT-71046K/N: a separate lowering to convert function reference to IrConstantObject -
KT-69223Drop parallel lowering mode in JVM backend -
KT-70260@JsPlainObject: improve compiler error if a method is present -
KT-67739Improve error message when JDK used in -Xjdk-release has corrupted class files -
KT-63964K2: different naming of classes defined in script in metadata -
KT-70014Common inference: introduce rigidTypeMarker -
KT-71352Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate -
KT-63502Getting java.lang.ClassNotFoundException: javaslang.λ during compilation -
KT-66316Kotlin/Native: make@Escapesannotation required for all external functions -
KT-69653Prohibit exposing types via type parameters' bounds -
KT-68451Inconsistent rules of CFA in enum initialization block -
KT-70893K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifier -
KT-70965FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions -
KT-63945K2: Prevent possible diagnostic loss -
KT-64453K2: Implement ComposeLikeIr...TestGenerated for K2 -
KT-30424Confusing error message "modality is different" -
KT-70846ReplaceConeKotlinType.nullabilitywithisMarkedNullableon specific types -
KT-56720K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance -
KT-69937Define & enforce user-friendly terminology for extended checkers -
KT-64406K2: Implement CompileKotlinAgainstJavaTestGenerated for K2 -
KT-69938Validate sets of default compiler warnings and supplementary compiler warnings -
KT-68971Investigate suspicious fragmentation of FIR trees for string literals with interpolation -
KT-71073Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$' -
KT-71213Rethrow exceptions in checkers with some useful attachments -
KT-70395K2: "Captured Type does not have a classifier" caused byouttype and interface hierarchy -
KT-70133K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initialization -
KT-70625K2: ClassCastException caused by function reference, star projection and invariant type parameter -
KT-70835K2: "TYPE_MISMATCH" caused by operator assignment -
KT-70366K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class " -
KT-68834Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator -
KT-70358K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type -
KT-69298K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias -
KT-71189K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keyword -
KT-71178K2: False negative NO_ELSE_IN_WHEN in when over nullable type with!is Nothing?check -
KT-70812False positive NO_ELSE_IN_WHEN with nullable type argument as subject -
KT-70947False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper bound -
KT-70752Review diagnostics with whole declaration as range -
KT-71160K2: Rendering of flexible collection types and arrays is too verbose -
KT-61227Definitely non-nullable types cause "Any was expected" for@Nullableparameter -
KT-69389K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch -
KT-69829Missed UNRESOLVED_LABEL for label in returns and loops -
KT-61223JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types -
KT-66742Supertypes with inaccessible type arguments are allowed -
KT-62906Type system: consider changing simple type & DNN type relation -
KT-70104Update the error message for calling super Java interface methods case -
KT-69794K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnostic -
KT-70724False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variables -
KT-70749False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifier -
KT-65805Migrate builtins serializer to K2 -
KT-71004FirSignatureEnhancement#enhance mutates attributes on the original function -
KT-70813Questionable behavior for calls on ILT receivers -
KT-70208'when' is not exhaustive for expect Boolean -
KT-69210Native: tune LLVM optimization pipeline -
KT-70753K2: Missing non-null assertion on the return value of try-catch block -
KT-70012EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarations -
KT-70837K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun -
KT-66751Implement a general deprecation of types with inaccessible type arguments -
KT-68748K2: RemoveirFactoryfromFir2IrComponents -
KT-61659K2: Implement theEXTENSION_SHADOWED_BY_MEMBERwarning -
KT-70709Range for MUST_BE_INITIALIZED shouldn't include property annotations -
KT-63294Do not use duplicated compiler argument names across the codebase -
KT-70673False positive NO_ELSE_IN_WHEN with nullable Boolean as subject -
KT-70672False positive NO_ELSE_IN_WHEN with nullable Enum as subject -
KT-69207Native: use lld when the compiler produces binaries for a Linux target -
KT-67696Native: compiler crashes when loading an LLVM bitcode file of unsupported version -
KT-69767K2: Investigate differences in tests without alias behavior for cyclic expansion -
KT-70617K2: ClassCastException caused by Java enum with overriddennameproperty -
KT-68796Non-first invoke operator calls break chained calls of convention operators after safe navigation operator -
KT-67772K2: Metadata misses NoInfer annotation for unsafeCast result -
KT-70304[FIR2IR] Missing@NoInfer -
KT-65085K2: Get rid of special check for unresolved array literals on argument mapping phase -
KT-65066K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call -
KT-49235Kotlin interface limited to 1000 super types -
KT-69991K2/JVM: Backend crash with functional types and KFunctions -
KT-7461Forbid using projection modifiers inside top-level Array in annotation's value parameter -
KT-52315Legacy keywords (header, impl) break enum definitions -
KT-69499Native: aggressive inline of runtime procedures causes compiler crash in debug builds -
KT-69737Native: incompatible target-cpu attributes between runtime and Kotlin code -
KT-69911Unexpected line numbers in default setter -
KT-61529K2: Unexpected FirClassLikeSymbol null with -no-jdk -
KT-69475K2: No "Name contains illegal characters" for package name with dots inside -
KT-69484Native: remove default values forisObjectType -
KT-70352K2: False-negative CONFLICTING_UPPER_BOUNDS onNothingbound -
KT-59781K2: investigate implicit cast generation in fir2ir vs psi2ir -
KT-70036[FIR2IR] Fix param name in overridden setter -
KT-68718[JVM] Generic function is instantiated with wrong type argument -
KT-67983K2: False negative "Recursive type alias in expansion" at recursive typealiases -
KT-70328K2:@UnsafeVariancestored in the metadata despite the Source retention -
KT-70313K2: Don't addAnysupertype tokotlin.Nothingcompiled from sources -
KT-69982K2: New errors when executing:kotlin-stdlib:jvmJar -
KT-70169K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters -
KT-67651K2: inconsistency in behavior for SAM constructor with flexible type -
KT-63857K2: Extraoperatormodifier in metadata -
KT-70182K2: Set upisOperatorflag according to operator naming conventions during building synthetic overrides for Java methods -
KT-20798Implement a deprecation warning for reified modifier on type parameters of type alias -
KT-68697K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in code -
KT-70157K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private class -
KT-68702K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode() -
KT-69509K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment -
KT-66323K2: Clarify contracts ofConeSubstitutorByMap -
KT-69652K2: False positive "Redundant visibility modifier" with explicitApi() -
KT-65815K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing? -
KT-60508K2/stdlib: compilation of common code fails if built-in types are provided as platform sources -
KT-70037K2: Generate IR body forAnyconstructor despite that fact it's empty -
KT-69870K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMP -
KT-69599K2: Investiage and fix lots ofUNRESOLVED_REFERENCEduring building stdlib native with K2 -
KT-68375K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses -
KT-58309Deal with test failures inside FirTypeEnhancementTestGenerated -
KT-27112Implement prohibition of exposing types via type parameters' bounds -
KT-69831Add long FastJarFS tests to thenightlyFirCompilerTestconfiguration -
KT-69537K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions -
KT-59814K2: Explore whyFirDataFlowAnalyzerstrips away value parameters of non top-level-functions -
KT-69069K2: expect overloads are deprioritized in common code -
KT-69511KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitive -
KT-69500Native: introduce an option to inline less "ALWAYS_INLINE" runtime procedures -
KT-69717K2: Don't callconeType/coneTypeOrNullextensions onFirResolvedTypeRef -
KT-60440K2/Java: investigate constructor own type parameters enhancement -
KT-69871K2 allows modifier keywords onpackagedeclaration -
KT-61271Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop -
KT-69768K2: Investigate differences in tests without alias behavior with typealias to enum entry -
KT-63846K2: incorrect type argument inferred for smart cast value of a generic type -
KT-69774Don't report overload resolution ambiguity if extension receiver contains error type -
KT-61316K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types -
KT-69201Discard expect candidate in overload conflict resolver if there is no actual -
KT-69557K2: Investigate failures with enabled assertion inConeResolvedAtomconstructor -
KT-69783K2: Make FirTypeProjection sealed -
KT-68000Investigate getting container functions in checkers -
KT-69649K2: Cleanup various utilities abouttoSymbolconversion -
KT-69185K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically -
KT-69390UNRESOLVED_REFERENCE on call with lambda argument turns whole call red -
KT-68794K2 IDE / Kotlin Debugger: ISE “No real overrides for FUN FAKE_OVERRIDE name:privateFun visibility:private modality:FINAL” on calling private function from superclass in debugger -
KT-69315FirJavaGenericVarianceViolationTypeChecker: StackOverflowError -
KT-49962"Visibility inherited is not allowed in forVisibility" when analyzing broken file -
KT-24212Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog -
KT-64195K2: Consider makeFirAnonymousInitializer. containingDeclarationSymbolnot null -
KT-64254"Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties -
KT-40533Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correct -
KT-20014Improve diagnostics for lateinit property without initializer and type annotation -
KT-51366False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments -
KT-68277K2: false positive UNREACHABLE_CODE for non-localreturn/break -
KT-69544K2: Mapped Java@Targetannotation's vararg argument has swapped type and elementType -
KT-68998K2: Refactor postponed atoms -
KT-69288Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16 -
KT-67808K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this -
KT-69035K2: Investigate potential removal of FirMangler -
KT-69473Missing suspend-conversion for lambda in the last statement of when with expected type -
KT-64640Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections -
KT-65441K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces -
KT-54792Store program order of properties inside@kotlin.Metadata -
KT-59832K2: Fix the TODO about merging values for labels in UnusedChecker
Compose compiler
New features
-
b/328817808Added the PausableComposition feature flags -
83c48a0Decoy support for JS target is removed from Compose compiler
Fixes
-
CMP-6926iOS compilation failure: Unresolved reference 'copy' -
CMP-6842FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations -
CMP-6788non-private field compilation warnings (stableprop & ComposableSingletons) -
CMP-6685Native/WASM compilation failure on Composable function with value-type arg + return -
b/376058538Fix stack overflow when inferring stability of indirect generic loop -
b/339322843Transform@Composableproperty delegate references -
b/366040842,b/365066530Replace deep copy in Compose plugin with in-place type mutation -
b/329477544Force open / overridden Composable functions to be non-restartable. -
b/361652128Disable live literal transform if the corresponding flag is disabled -
b/325004814[Compose] Fix infinite recursion in target analysis -
b/357878245Disallow open@Composablefunctions with default params to fix binary compatibility issues. -
b/338597078[Compose] Fix target warning message -
b/351858979Fix stability inferencing of interfaces on incremental compilation -
b/346821372[Compose] Fix code generation for group optimization -
b/339311821Give warning when stability configuration file is not found -
b/346821372Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.
IDE. Gradle Integration
-
KT-48554[Multiplatform Import] Ensure consistency betweenGradleImportPropertiesandPropertiesProvider
IR. Actualizer
-
KT-71631Kotlin-to-Java direct actualization: java annotation element isn't actualized -
KT-71597Kotlin-to-Java direct actualization: it is possible to actualize a function with default parameters -
KT-71592Kotlin-to-Java direct actualization: constructor of nested class can't be actualized -
KT-71577Kotlin-to-Java direct actualization: method can be actualized by java static method -
KT-69632K2: Expect actual mismatch on actualization with alias to expect class -
KT-71817Actualization of static members is broken for non-JVM platforms
IR. Inlining
New Features
-
KT-69527Set the right visibility for synthetic accessors in SyntheticAccessorLowering
Fixes
-
KT-71232Implement an IR validation check that ensures that all IrFields are private on non-JVM backends -
KT-69307Source offsets seem incorrect after IR inlining -
KT-72884Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered -
KT-71659IR Inliner fails to inline function expressions due to implicit cast from the 1st phase of inlining -
KT-69681IR: Report warnings on exposure of private types in non-private inline functions -
KT-72521Kotlin/Native: java.lang.AssertionError: kfun:androidx.compose.runtime#access\<get-androidx_compose_runtime_ProvidedValuestable>ptComposerKt(){}kotlin.Int -
KT-72623Don't generate synthetic accessors in files other than the one being lowered -
KT-70420Enable double-inlining in Native & JS backends by default -
KT-67292Handling assertions before the IR inliner -
KT-70423KLIB: SyntheticAccessorLowering - generate static factory functions instead of synthetic constructors -
KT-69565Don't generate synthetic accessors for private symbols inside local classes -
KT-69787Handle clashes of synthetic accessors generated for top-level callables -
KT-71137Generate synthetic accessors for backing fields -
KT-67172Native & JS: Introduce OuterThisInInlineFunctionsSpecialAccessorLowering -
KT-64865Explicitly generate accessors for private declarations in inline functions -
KT-71657K/JS: Double-inlining causes failures in IC with top-level synthetic accessors -
KT-71078Inline all functions in local classes at the 1st stage of inlining -
KT-69802Don't extract local classes from inline functions in double inlining mode -
KT-66508IR inliner: Add implicit cast for initializer of temporary variables -
KT-66507IR inliner: Enable implicit casts in all KLib backends -
KT-69466IrInlinedFunctionBlock: Refactor it to make it possible to serialize in KLIBs -
KT-69317IR Inlining. Try to place inlined arguments outsideIrInlinedFunctionBlock -
KT-67149Common Native/JS lowering prefix at the 2nd phase of compilation -
KT-69172Implement double-inlining for Native -
KT-67304Keep in common prefix: Shared variables + local classes in inline lambdas -
KT-67170ArrayConstructorReferenceLowering is missing in Native -
KT-70583Internal error in body lowering: java.lang.IllegalStateException: An attempt to generate an accessor after all accessors have been already added to their containers -
KT-69700Inlinestub_for_inlininguse sites survive after the inliner -
KT-69462Support dumping IR after inlining in compiler tests -
KT-70693IR: replace IrReturnableBlock.inlineFucntion with IrInlinedFunctionBlock.inlineFucntion -
KT-70763IR inline: consider storing stub_for_inline as an inlined function for callable reference -
KT-69168Wrap assertion calls before IR inliner -
KT-69167Create intrinsics in stdlib for handling assertions in KLIB-based backends -
KT-69169Expand assertion intrinsics in backend based on CLI parameters -
KT-69174Implement the basic Synthetic Accessors Lowering for KLIB-based backends
IR. Interpreter
-
KT-70388K2 IDE / Kotlin Debugger: InterpreterError “Unsupported number of arguments for invocation as builtin function: INT_MAX_POWER_OF_TWO” during evaluation
IR. Tree
Fixes
-
KT-69644Report warning on cross-file IrGetField operations generated by compiler plugins -
KT-68789Prepare tests for testing visibility (non-)violation in inlined IR -
KT-71826stdlib fails to compile with-Xserialize-ir=all -
KT-70333IR: remove ability to apply compiler plugins during KAPT stub generation phase -
KT-67752Make copyRemappedTypeArgumentsFrom and transformValueArguments methods in DeepCopyIrTreeWithSymbols protected instead of private -
KT-68151Setup testing visibility of referenced declarations in IR -
KT-68988[Tests] Streamline the order of irFiles in IR- and Kotlin-like dumps -
KT-65773Auto generate IR implementation classes -
KT-70330Automatically keep track of IrValueParameter.index -
KT-68495Compile-time failure on bounded generic value used in a contains-check with range -
KT-68974Validate scopes of IrValueParameters in IrValidator
JavaScript
New Features
-
KT-70254K/JS: Generate arrows in ES6 mode instead of anonymous functions -
KT-70283KJS / ES6: Don't generate bind(this) calls for anonymous functions that capturethis
Fixes
-
KT-43567KJS: toString() method and string interpolation of variable produce different code -
KT-70533KJS: changed string concatenation behavior in 2.0 -
KT-14013JS toString produces different result for nullable/non-nullable ref to the same array -
KT-72732KJS / ES6: "SyntaxError: 'super' keyword unexpected here" with enabled-Xir-generate-inline-anonymous-functionsand disabled arrow functions -
KT-69408[JS] Enable insertAdditionalImplicitCasts=true (as in other KLIB-based backends) -
KT-71821K/JS tests are failing with coroutines flow and turbine on timeout -
KT-31799Allow non-identifier characters in Kotlin/JS (backquoted properties,@JsName) -
KT-55869Coroutine is not intercepted, when the coroutine is started callingstartCoroutineUninterceptedOrReturnusing callable reference -
KT-70117Generate debug info for code fromjscall -
KT-69642ES generator-based coroutines rely on eval -
KT-67452K2: Consider hiding dynamic type creation under FlexibleTypeFactory for JS only -
KT-70226Delete JS tests that were only run with the legacy JS backend -
KT-71338K/JS: Add a flag for switching generating arrow functions on & off -
KT-69173Implement double-inlining for JS -
KT-67327JS: Remove error tolerance -
KT-69892Array.isArray() returns false for an instance returned by KtList.asReadonlyArrayView() -
KT-70231Delete the org.jetbrains.kotlin.cli.js.dce.K2JSDce class -
KT-69928KJS: keys() and values() of KtMap's JS view don't behave as expected -
KT-70707KJS: asJsReadonlyMapView does not implement ReadonlyMap correctly -
KT-71220Fix invalid IrFunctionReference creation in InnerClassConstructorCallsLowering -
KT-70393Investigate failing JS test after switch stdlib compilation to K2 -
KT-64429K2: Implement KlibJsIrTextTestCaseGenerated for K2 -
KT-69587[Tests] Fix multi-module deserialization in JS irText tests -
KT-70219Delete the org.jetbrains.kotlin.cli.js.K2JSCompiler class -
KT-70221Rename org.jetbrains.kotlin.cli.js.K2JsIrCompiler to K2JSCompiler -
KT-70229Remove test classes related to the legacy JS backend -
KT-70359Remove legacy backend-related test directives from Kotlin/JS tests -
KT-70362Clean up Gradle tasks for running JS tests against the legacy JS backend -
KT-66181Reorganize JsCodeOutliningLowering and keep it before the IR inliner -
KT-30016JS BE does not generate special bridge methods -
KT-68975KJS: Investigate callingjs(...)from inline functions
KMM Plugin
-
KT-71011AS KMP plugin: ios application can't start for 2024.2.1
Klibs
New Features
-
KT-64169[KLIB Resolve] Don't skip libraries that happen to have the sameunique_name -
KT-68322Compiler (JS, Wasm): warn about incompatible Kotlin stdlib/compiler pair
Fixes
-
KT-61098[KLIB Resolve] Don't allow working with KLIB "repositories" -
KT-72965Ignore subclassOptInRequired constructor warning -
KT-68792Bump KLIB ABI version in 2.1 -
KT-67474K2: Missing@ExtensionFunctionTypein metadata in KLIBs -
KT-71633[2.1.0] Suspicious "Argument type mismatch" error -
KT-70146[KLIB Resolve] Don't fail on nonexistent transitive dependency -
KT-71455[KLIB Resolve] Forbid passing KLIB unique names via CLI -
KT-67448[KLIB Resolve] Deprecate passing KLIB unique names via CLI -
KT-67450[KLIB Resolve] Kotlin/Native: Only one implicit repository should remain for the compiler ("dist") -
KT-70285Warning about incompatible stdlib (JS/Wasm) is not reported if stdlib is unpacked -
KT-66218Clean-up the code for serialization & deserialization of DFGs to & from KLIBs -
KT-71414KotlinLibraryResolver.resolveWithDependencies was evolved in binary incompatible way -
KT-68195move KlibMetadataProtoBuf to frondend-independent module
Language Design
-
KT-54617Stabilize@SubclassOptInRequired: ability to require opt-in for interface implementation -
KT-54458Preview of non-local break and continue -
KT-69924Mention 'if' guard when '&&' is used incorrectly -
KT-71222Remove@ExperimentalSubclassOptInfrom SubclassOptInRequired -
KT-67675Allow usage of Array<Nothing?> -
KT-70754Changes in typeOf behaviour for Kotlin/Native -
KT-58659Prohibit implementing a var property with an inherited val property
Libraries
Performance Improvements
-
KT-66715Performance: faster alternative to String.lines()
Fixes
-
KT-71628Review deprecations in stdlib for 2.1 -
KT-69545Kotlin/Native: Deprecate API marked with FreezingIsDeprecated to error -
KT-56076K2: build Kotlin standard library -
KT-71660Stabilize experimental API for 2.1 -
KT-54299Extract org.w3c declarations to separate library from K/Wasm Stdlib -
KT-68027Document caveats and deincentivise usage of measureTimeMillis -
KT-71581Update outdated documentation to common lazy and provide samples -
KT-71796Improve documentation for Path.walk and Path.visitFileTree functions -
KT-68019Fill in missing package descriptions for standard library documentation -
KT-52181Native: Inconsistent behaviour of LinkedHashMap#entries on JVM and Native -
KT-71570Document suspend lambda builder -
KT-65526Rewrite builtins as expect-actual -
KT-68502K2: Fix or suppress stdlib K2 warnings -
KT-68731K2: Handle some formally incompatible expect/actual classes in JVM stdlib -
KT-70378Implement custom serialization for Uuid -
KT-70005K/Wasm and K/Native: IntArray.sort - array element access out of bounds -
KT-66764kotlinx-benchmark: rework on kotlin-compiler-embeddable -
KT-69817Set up klib binary API validation for stdlib -
KT-68396Handle some formally incompatible top-level expects/actuals callables -
KT-69524kotlin.uuid.Uuid: checkHyphenAt - error message always specified index 8 -
KT-69327[native] FloatingPointParser.initialParse works incorrectly for some inputs -
KT-46785Get rid of !! after readLine() in the standard library
Native
-
KT-71435Native: cannot access class 'objcnames.classes.Protocol' -
KT-49279Kotlin/Native: update LLVM from 11.1.0 to 16.0.0 -
KT-61299Native: patch LLVM to prevent it from using signal handlers incompatibly with JVM -
KT-69637Native: our LLVM shouldn't advise submitting bugs to the upstream -
KT-64636kotlin.incremental.native=true causes IrLinkageError -
KT-69142ObsoleteWorkersApi and FreezingIsDeprecated is not displayed on targets in webdocs
Native. Build Infrastructure
-
KT-71820Update the coroutines version used in kotlin-native build infrastructure -
KT-69479Native: remove custom python version building from the LLVM builder container image -
KT-63214[K/N] llvm build script fails with MacOSX14.0.sdk sysroot
Native. ObjC Export
-
KT-62997IllegalStateException for hashCode(): KClass for Objective-C classes is not supported yet -
KT-59497KClass.simpleName returns null in ObjC-inherited class
Native. Platform Libraries
-
KT-70032Rebuild platform libraries in 2.1.0 with Xcode 16 -
KT-69448LLVM 16 clang with Xcode 16 headers: 'sys/cdefs.h' file not found
Native. Runtime
-
KT-70680Kotlin/Native: Use WritableTypeInfo when creating Swift wrapper from the runtime -
KT-70568Native: revert workaround for debug with LLVM 16 -
KT-67730Native: fix runtime compilation warnings after update to LLVM 16
Native. Runtime. Memory
-
KT-72624Native: testRelease_on_unattached_thread sometimes fails with Releasing StableRef with rc 0 -
KT-71401K/N: CMS barrier can be executed on an unregisterred thread -
KT-70364Kotlin/Native: data race during GC initialization -
KT-68544[Native] Implement heap dump tool -
KT-70365Kotlin/Native: make thread id be pointer size
Native. Swift Export
New Features
-
KT-71539Swift Export: export class member overrides -
KT-70442Swift Export: export class inheritance -
KT-68864Refactor internal details of swift-export-standalone
Fixes
-
KT-70678Swift Export: generate Kotlin<->Swift type mapping -
KT-70920Swift Export Nullability: primitive type -
KT-71087Swift Export: Nullability: Never -
KT-71086Swift Export: Nullability: Strings -
KT-70919Swift Export Nullability: reference type -
KT-71026Swift Export: function overloading with ref types does not work -
KT-70960Swift Export nullability: add nullability to sir and printer -
KT-70063Swift export generates invalid Swift code for class and function with the same name -
KT-70069Swift export: filter out extension properties -
KT-70068Swift export: nullable types are not marked as unsupported -
KT-69287Swift Export: support leaking dependencies -
KT-69633Provide interface for multiple module translation -
KT-69286[Swift Export][TestInfra] Support translating multiple roots -
KT-69376Property with Any type does not force addition of import
Reflection
-
KT-71378KotlinReflectionInternalError: Inconsistent number of parameters in the descriptor and Java reflection object
Specification
-
KT-53427Specify@SubclassOptInRequired
Tools. CLI
New Features
-
KT-8087Make it possible to suppress warnings globally in compiler (via command-line option) -
KT-71537Add JVM target bytecode version 23
Fixes
-
KT-70991K2: Compilation fails if project version has a comma -
KT-70179K2: Building a file with kotlin-test-junit without junit does not include annotations -
KT-72311KotlinCliJavaFileManagerImpl caches empty result and broke repeated analyses -
KT-61745K2: support light tree in multi-module chunk mode -
KT-70885Errors are not reported for wrong arguments in -Xsuppress-warning flag for non-jvm backends -
KT-69541K2: "IllegalArgumentException: Unexpected versionNeededToExtract" on using JAR packaged as ZIP64 -
KT-69434K2: Kotlin compiler JarFS can't handle large dependencies (>2GB) -
KT-70959K2: Support legacy metadata jar format in K2 compiler -
KT-70337Obsolete code is not removed after refactoring -JvmEnvironmentConfigurator.registerModuleDependencies -
KT-70322Merge CLITool and CLICompiler classes
Tools. CLI. Native
-
KT-68673Kotlin/Native "You have not specified any compilation arguments. No output has been produced" when no source nor-Xincludeis passed
Tools. Compiler Plugins
Fixes
-
KT-72804Regression in Kotlin 2.1.0: compilation fails when building iOS -
KT-72824Kotlin power-assert plugin StringIndexOutOfBoundsException -
KT-71658Transform top-level atomic properties to Java boxed atomics -
KT-65645Atomicfu-plugin: compilation hangs on a long string concatenation -
KT-69038Power-Assert does not display const vals -
KT-71525Setting JvmAbiConfigurationKeys.REMOVE_PRIVATE_CLASSES = true triggers java.util.ConcurrentModificationException -
KT-41888IrExpression startOffset and endOffset are inconsistent with raw file text -
KT-69856Compose Plugin: IrType.erasedUpperBound throws NullPointerException when evaluating IrScript nodes due to missing targetClass -
KT-69410PowerAssert: Cannot find overload of requireNotNull without existing message -
KT-66293Atomicfu-plugin: wrong return types for lowered extension functions -
KT-69646PowerAssert: result of array access operator is unaligned -
KT-70112Power Assert: multiline assertion support -
KT-70504[atomicfu-plugin] Incremental compilation fails for atomic extensions on JVM -
KT-70351K2 CodeGen API exception triggered by a compose compiler plugin lowering transformer for data class example -
KT-70113Power Assert: tab support -
KT-69806K2: SOE on nested plugin-like annotation in class annotated with itself -
KT-69538jvm-abi-gen: Remove copy$default if data class constructor is private and ConsistentCopyVisibility is used
Tools. Compiler plugins. Serialization
-
KT-70110Prohibit@Serializableon companion object of another@Serializableclass -
KT-69388Serialization: "You should use ConeClassLookupTagWithFixedSymbol" caused by@Serializableon local generic class
Tools. Daemon
-
KT-69929compileKotlin task reports that daemon has terminated unexpectedly -
KT-72530The daemon has terminated unexpectedly on startup attempt #1 with error code: Unknown
Tools. Fleet. ObjC Export
Fixes
-
KT-71162ObjCExport: nullable functional type with reference arguments -
KT-71022ObjCExport: enum c keywords translation -
KT-71082ObjCExport: KotlinUnit translated as Function1 -
KT-70781ObjCExport: classifiers and callables type parameters translation -
KT-70943ObjCExport: extension order -
KT-70840ObjCExport: duplicated interfaces -
KT-70642ObjCExport: translate collection type arguments as id -
KT-70546ObjCExport: method generic parameter is lost and translated as id -
KT-70329ObjCExport: translation and forward of super generic types -
KT-70263ObjCExport: generic extension support -
KT-69685ObjCExport: extension translated as not extension -
KT-70318ObjCExport: translate companion type -
KT-69252ObjCExport: Get rid of context receivers from ./native/objcexport-header-generator
Tools. Gradle
New Features
-
KT-69940Expose supplementary compiler warnings via KGP -
KT-71603Introduce KotlinJvmExtension and KotlinAndroidExtension -
KT-70383KotlinJvmFactory registerKaptGenerateStubsTask() function should also request compilation task provider -
KT-65125Provide basic support for Swift Export in Kotlin Gradle Plugin -
KT-71602Introduce KotlinTopLevelExtension -
KT-69927Need ability to pass KotlinJvmCompilerOptions to registerKotlinJvmCompileTask() -
KT-71227[Compose] Add PausableComposition feature flag to the Compose Gradle Plugin -
KT-68345'composeCompiler#stabilityConfigurationFile' doesn't allow setting multiple stability configuration files
Performance Improvements
-
KT-65285Use uncompressed Klibs
Fixes
-
KT-71411Add FUS statistics for new Dokka tasks -
KT-72495Warn about kotlin-compiler-embeddable loaded along KGP -
KT-70543Gradle: create migration guide for those who are using Kotlin compiler classes indirectly available in buildscripts -
KT-69329Compatibility with Gradle 8.9 release -
KT-71291Log plugins from the list as Gradle plugins -
KT-69255Deprecate KotlinCompilationOutput#resourcesDirProvider -
KT-61706Gradle: remove kotlin-compiler-embeddable from build runtime dependencies -
KT-73128Apply Kotlinlang template for partial HTMLs -
KT-47897Official Kotlin Gradle plugin api -
KT-58858Add KDoc documentation for Kotlin Gradle plugin API -
KT-73076Kotlin Gradle Plugin API Reference: adjust settings -
KT-72387KGP 2.1.0-RC-227 changes cause KSP to crash calling produceUnpackedKlib -
KT-53280Gradle plugin leaks some compiler related extensions into API -
KT-69851Compatibility with Gradle 8.10 release -
KT-65565Remove deprecated common platform plugin id -
KT-69719Bump minimal supported Gradle version to 7.6.3 -
KT-69721Bump minimal supported Android Gradle plugin version to 7.3.1 -
KT-66944Relax host requirements on Kotlin klib compilation -
KT-72651Unable to usetargetfor KotlinBaseApiPlugin.createKotlin(Jvm/Android)Extension() -
KT-72467kotlin.sourceSets extension not added for KotlinBaseApiPlugin.createKotlinAndroidExtension() -
KT-72303KGP 2.1.0-Beta2 broke compatibility with KSP -
KT-68596Update KGP deprecations before 2.1 -
KT-67951Update Compose extension KDoc -
KT-66049KGP JVM: Publishing isn't compatible with isolated projects and project dependencies -
KT-71405Compose compiler gradle plugin: project.layout.file can't be used as a value of the 'stabilityConfigurationFiles' option -
KT-71948KotlinJvmFactory : get rid of replaces with TODO() -
KT-72092Gradle: use packed klib variant as the default when no packaging attribute is present -
KT-58956Offer a shared interface for JVM and Android compilerOptions in Project extension -
KT-70251Gradle: hide compiler symbols in KGP -
KT-70430Clean-up obsolete Gradle plugin variants for Gradle versions <7.6 -
KT-69853Compile against Gradle API 8.10 -
KT-69852Run Gradle integration tests against Gradle 8.10 release -
KT-65990UpdateGradleDeprecatedOption.levelvalues for arguments removed from the DSL after 2.1 -
KT-69331Run tests against Gradle 8.9 release -
KT-69332Compile against Gradle 8.9 API -
KT-67174Cleanup old Test DSL -
KT-71071BuildFusStatisticsIT.testInvalidFusReportDir test failes on Windows -
KT-69585KGP / Composite Build: "Could not apply withXml() to generated POM" during publishing -
KT-59769Many "Unexpected exception happened" warnings during build without internet connection
Tools. Gradle. Cocoapods
-
KT-63811cinterop fails to build klib for iosArm64 target when iOS simulator SDK isn't installed -
KT-70500Remove useLibraries from CocoaPods plugin -
KT-56947Replace AFNetworking with a smaller library in tests
Tools. Gradle. JS
-
KT-69628K/Wasm: Node.js version per project -
KT-71578KotlinJS. Webpack does not recompile on changes withper-file -
KT-71536[JS, Wasm] Stop collecting information about KLIB IC in Kotlin2JsCompile -
KT-70621Move kotlin-test-js-runner out of Kotlin repository -
KT-67442KJS / Gradle:kotlinStorePackageLockfails due to OS-dependent lockfile with npm package manager
Tools. Gradle. Multiplatform
New Features
-
KT-70469Add feature flag for Project Isolation and Kotlin Multiplatform -
KT-70897Add KotlinBaseApiPlugin.kotlinAndroidExtension
Fixes
-
KT-71206KGP: Test source set may get duplicated KLIBs of different versions -
KT-71209Drop Hierarchy Template diagnostic about used shortcuts -
KT-69412ChangeKotlinTargetAlreadyDeclaredChecker's severity from warning to error -
KT-70060KGP: handleHierarchicalStructureFlagsMigration doesn't support project isolation -
KT-57280Expose Kotlin Project Structure metadata via consumable configurations instead of accessing all gradle projects directly -
KT-64999Support Project Isolation with Kotlin Native tasks (XCode integration, Cocoapods etc) -
KT-64998Granular Metadata Dependencies Transformation is not compatible with Project Isolation -
KT-70650GenerateProjectStructureMetadata is not compatible with Project Isolation -
KT-71675checkSandboxAndWriteProtection collides with Compose's syncComposeResources -
KT-66461Promote compiler options DSL for multiplatform projects to stable -
KT-69323Don't pass platform dependencies to metadata compilation -
KT-72454Revert changes made in KT-69899 i.e. make kotlin.android.buildTypeAttribute.keep = false by default again -
KT-70380KMM App failed to consume android binary lib -
KT-71423Xcode archive missing dSYM files since Kotlin 2.0.20 -
KT-69899KMP: Publish BuildType by default for android publications with multiple variants -
KT-71428Change deprecation message for KMP target shorcuts -
KT-58231Kotlin Gradle Plugin: set deprecation level to Error for KotlinTarget.useDisambiguationClassifierAsSourceSetNamePrefix and overrideDisambiguationClassifierOnIdeImport -
KT-72068Distribution for klib cross-compilation is not downloaded during compile tasks -
KT-70612Report incompatibility warning when Project Isolation enabled and Included builds are used -
KT-71529Deprecate targetFromPreset API with an error -
KT-69614Deprecate with error ios/tvos/watchos presets -
KT-69974KMP: POM dependency rewriter doesn't work with Included Builds OR dependencySubstitution -
KT-69472Remove IncompatibleAgpVersionTooHighWarning diagnostic -
KT-64996Commonize Native Distribution task is not compatible with Project Isolation -
KT-62911Export Kotlin Multipaltform Project Coordinates as a secondary variant of apiMetadataElements -
KT-70888Project isolation: Project cannot dynamically look up a property in the parent project at PropertiesProvider.propertiesWithPrefix -
KT-70688Move ExperimentalSwiftExportDsl to another package -
KT-58298AndroidAndJavaConsumeMppLibIT maintenance: Convert to new infrastructure and add test for newer AGP versions -
KT-68976K2 IDE: Unresolved FileSystem.SYSTEM from OKIO in shared source sets
Tools. Gradle. Native
-
KT-67162KGP: Kotlin/Native with Isolated Projects: kotlinNativeBundleBuildService cannot be changed any futher -
KT-72366KGP 2.1.0-Beta2 doesn't downloadkotlin-native-prebuiltwhen running Dokka -
KT-45559CInteropProcess: Changes to header files are not recognized; Task is still UP-TO-DATE -
KT-71051K/N dependencies are re-downloaded multiple times on Windows -
KT-71398kotlinNativeBundleConfiguration should not contain dependencies on unsupported platforms -
KT-71722kotlinNativeBundleConfiguration present in JVM-only Gradle project -
KT-55832Support passing errors to Xcode when configuration cache is enabled -
KT-70690not possible to build iOS app with Swift Export and Xcode 16 -
KT-65838Remove project usage from PlatformLibrariesGenerator -
KT-70875KSP1 native tasks fail on configuration phase
Tools. Incremental Compile
-
KT-69123IC: "NoSuchFieldError: No instance field". Not tracking changes to Android ViewBinding class
Tools. JPS
-
KT-68565K2: IllegalStateException: Source classes should be created separately before referencing -
KT-71042JAVA_MODULE_DOES_NOT_READ_UNNAMED_MODULEwhen compiling IntelliJ
Tools. Kapt
-
KT-72249K2 KAPT Not picking up use site annontation like K1 Kapt -
KT-69860K2 kapt: use compiler directly instead of Analysis API -
KT-71776K2 Kapt in 2.1.0-Beta1 fails withe: java.lang.IllegalStateException: FIR symbol "class org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol" is not supported in constant evaluation -
KT-70879Kapt: check that Kotlin 2.1 language features are ignored correctly by K1 kapt -
KT-71431K2KAPT fails on modules without any annotation processors -
KT-70600K2 KAPT: inline reified function has a null signature -
KT-70718Kapt: "error: could not load module " on error type in data class component -
KT-69861Kapt: use IR to obtain line information instead of PSI
Tools. REPL
-
KT-71109Kotlin Scripting REPL doesn't support keyboard shortcuts
Tools. Scripts
-
KT-68685K2 / Script: "KotlinReflectionInternalError: Unresolved class:" caused by main.kts script with nested classes and reflection -
KT-68545Using labeledthisaccess to implicit receivers fails in scripts
Tools. Wasm
-
KT-67797Improve the variable view during debugging in Fleet for Kotlin/Wasm -
KT-71506[Wasm, IC] FUS report for builds with incremental compilation -
KT-70100wasmJs Target Fails to Compile on ARM64 Linux -
KT-70367Update binaryen once we get a release with MR 6793 -
KT-67863K/Wasm: Remove ChromeWasmGc -
KT-71360K/JS & K/Wasm: Upgrade NPM dependencies -
KT-70297Wasm: Incorrect kotlinJsTestRunner version set in Multi-Project Builds with mixed kotlin-stdlibs
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.
Edited by Renovate Bot