Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Kotlin, KSP and Compose Compiler to v2 (major) #18

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 21, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlin.plugin.parcelize (source) 1.9.25 -> 2.1.0 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization (source) 1.9.25 -> 2.1.0 age adoption passing confidence
org.jetbrains.kotlin.multiplatform (source) 1.9.25 -> 2.1.0 age adoption passing confidence

Release Notes

JetBrains/kotlin (org.jetbrains.kotlin.plugin.parcelize)

v2.1.0: Kotlin 2.1.0

Changelog
Analysis API
New Features
  • KT-68603 KotlinDirectInheritorsProvider: add an option to ignore non-kotlin results
Performance Improvements
  • KT-70757 Performance problem in KaFirVisibilityChecker for KaFirPsiJavaClassSymbol
Fixes
  • KT-70437 Class reference is not resolvable
  • KT-57733 Analysis API: Use optimized ModuleWithDependenciesScopes in combined symbol providers
  • KT-72389 K2: False positive "Redundant 'protected' modifier" for protected property inside protected constructor from private or internal class
  • KT-69190 K2: False-positive "redundant private modifier"
  • KT-64984 Analysis API: Support Wasm target
  • KT-70375 K2: NPE at org.jetbrains.kotlin.analysis.api.fir.symbols.KaFirNamedClassSymbolBase.createPointer
  • KT-71259 K2 evaluator: Invalid smart cast info collecting for Code Fragments
  • KT-69360 Lack of implicit receiver for the last statement under lambda in scripts
  • KT-70890 Analysis API: Experiment with weak references to LL FIR/analysis sessions in session caches
  • KT-70657 Analysis API: Inner types from classes with generics are incorrectly represented by the compiled jars
  • KT-71055 Suspend calls inside 'analyze()' break the block guarantees
  • KT-70815 Analysis API: Implement stop-the-world session invalidation
  • KT-69819 K2 IDE: LHS type in callable references is unresolved when it has type arguments and is qualified
  • KT-68761 Analysis API: Experiment with limited-size cache in KaFirSessionProvider
  • KT-70384 Analysis API Standalone: The same class in the same two renamed jars is unresolved
  • KT-71067 Exceptions from references cancel Find Usages
  • KT-69535 Redesign 'containingSymbol'
  • KT-71025 K2 IDE: Scopes in "importingScopeContext" have reversed ordering and "indexInTower" values
  • KT-67483 K2 IDE: Serializable plugin causes infinite resolve recursion when there is a star import from a class with annotation call
  • KT-69416 K2 IDE / Completion: “No classifier found” on simple value creating
  • KT-70257 CCE: class kotlin.UInt cannot be cast to class java.lang.Number
  • KT-70376 K2 IDE / Kotlin Debugger: IAE “Only componentN functions should be cached this way, but got: toString” on evaluating toString() method for value class
  • KT-70264 AA: service registration via XML fails with AbstractMethodError in Lint CLI
  • KT-69950 Analysis API: Introduce isSubtypeOf(ClassId)
  • KT-68625 K2: “lazyResolveToPhase(STATUS) cannot be called from a transformer with a phase STATUS.”
  • KT-67665 K2: contract violation for value class with a constructor parameter with an implicit type
  • KT-67009 Analysis API: Add abbreviated type tests for type aliases from source modules
  • KT-69977 KaFirFunctionalType#getAbbreviation is always null
  • KT-68341 Analysis API: Expanded function types from libraries don't have an abbreviated type
  • KT-68857 Analysis API: Refactor annotations
  • KT-70386 Do not filter out overloads from different libraries in dangling files
  • KT-65552 K2: CANNOT_CHECK_FOR_ERASED in KtTypeCodeFragment
  • KT-65803 K2: Analysis API: KtFirTypeProvider#getSubstitutedSuperTypes throws an exception in the case of "Wrong number of type arguments"
  • KT-68896 Support VirtualFile binary dependency inputs to Analysis API modules
  • KT-69395 K2 IDE: incorrect overload selection from binary dependencies in a shared native source set
  • KT-68573 ISE: "Unexpected constant value (kotlin/annotation/AnnotationTarget, CLASS)" at Kt1DescUtilsKt.toKtConstantValue()
  • KT-69576 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns false for companion references in implicit invoke operator calls
  • KT-69568 Analysis API: FIR implementation of "isImplicitReferenceToCompanion" returns true for non-companion references in qualified calls
  • KT-69436 Analysis API Platform: Encapsulate LLFirDeclarationModificationService as an engine service
  • KT-63004 K2: Analysis API: Design API for querying declarations generated by compiler plugins (similar to indices)
  • KT-69452 AA FIR: wrong source PSI after compile-time evaluation
  • KT-69598 AA: definitely not-null type at receiver position should be wrapped in parenthesis
  • KT-60484 Analysis API: add support for KtType pointers similar to KtSymbolPointer
  • KT-68884 Analysis API: Rename/deprecate/remove declarations as part of Stabilization
  • KT-69453 AA FIR: miss to handle expected type of lambda with explicit label
  • KT-69533 Protect implementation parts of Analysis API with opt-in annotations
Analysis API. FIR
Performance Improvements
  • KT-71566 FirElementBuilder#getFirForNonKtFileElement should iterate a Psi file over and over
  • KT-71224 Analysis API: FirElementFinder.collectDesignationPath relies on naive iteration through FIR files
Fixes
  • KT-70327 Analysis API: Batch inspection causes deadlock in ValueWithPostCompute
  • KT-69070 Analysis API: Querying declared member scope for Java symbols results in exception in some use cases
  • KT-68268 LLSealedInheritorsProvider: reduce scope to kotlin files
  • KT-69671 TYPES phase contract violation through JavaSymbolProvider
  • KT-70624 Declaration symbols from code fragments are treated as not local
  • KT-70662 NPE: FirLazyBodiesCalculatorKt.calculateLazyBodyForProperty
  • KT-70859 Do not fail highlighting due to resolution problems
  • KT-70474 FirLazyResolveContractViolationException from JavaSymbolProvider
  • KT-70323 FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
  • KT-71567 LLFirCompilerRequiredAnnotationsTargetResolver should calculate annotation arguments on demand
  • KT-71584 getNonLocalContainingOrThisDeclaration treats KtParameter from functional type as non-local
Analysis API. Light Classes
Performance Improvements
  • KT-69998 Drop redundant cache from ClassInnerStuffCache
Fixes
  • KT-69833 Support value classes
  • KT-71693 Wrong name mangling for JvmField class property and companion property clash
  • KT-71469 KtLightClassForDecompiledDeclaration: missed kotlinOrigin
  • KT-70710 Provide light classes for KMP modules in Android Lint
  • KT-70548 SLC: text of class object access expression is not the same as raw text
  • KT-70572 SLC: missing isInheritor implementation for type parameter
  • KT-70491 SLC: inconsistent source PSI of no-arg constructor for all default values
  • KT-70458 SLC: missed auxiliaryOriginalElement for delegated property
  • KT-70232 Support a companion object inside value classes
  • KT-70349 @delegate:` annotations are missed for light class fields
  • KT-68328 Move KtLightClassBase to ULC
Analysis API. Providers and Caches
  • KT-65618 K2: resulted FirClass.psi != requested PsiClass from completion
  • KT-69292 K2: Analysis API: A property's MUST_BE_INITIALIZED diagnostic is not updated after changing field usage in an accessor
  • KT-71468 Drop redundant logic from LLFirJavaFacadeForBinaries
  • KT-71700 Cache result of resolveToCall
  • KT-71520 Analysis API: LLFirNativeForwardDeclarationsSymbolProvider spends a lot of time in indices
Analysis API. Standalone
  • KT-65110 Analysis API: In Standalone mode the order of symbols is unstable
Analysis API. Stubs and Decompilation
  • KT-71565 KtClassOrObject should use isLocal from greenStub
Analysis API. Surface
New Features
  • KT-69960 resolveToCallCandidates should support operators
  • KT-69961 resolveToCallCandidates should support properties
Performance Improvements
  • KT-70529 KaSymbol: reduce the number of cached usages
  • KT-70165 Introduce PSI-based KaSymbols for K2
Fixes
  • KT-69371 Analysis API: expose only interfaces/abstract classes for the resolution API
  • KT-69696 KaSymbolByFirBuilder should filter call-site substitutions
  • KT-69679 KaDelegatedConstructorCall should have substituted signature
  • KT-70206 anonymousSymbol API throws an exception for regular functions
  • KT-69699 Receiver type is not substituted in the case of conflict declarations
  • KT-69381 Analysis API: Investigate the viability of current KaSymbol caches
  • KT-70199 K2: ConcurrentModificationException at FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments
  • KT-70661 Invalid FirDeclarationOrigin ScriptTopLevelDestructuringDeclarationContainer
  • KT-70663 KaFirDestructuringDeclarationSymbol: Failed requirement
  • KT-63490 Analysis API: Accessing the Analysis API should be prohibited during dumb mode
  • KT-63390 K2: Analysis API: add annotations to KtClassInitializerSymbol
  • KT-55124 Design common ancestor for KtValueParameter and KtReceiverParameterSymbol
  • KT-71731 directlyOverridenSymbols/allOverridenSymbols works incorrectly for intersection overrides
Apple Ecosystem
  • KT-66262 Deprecate and remove support for bitcode embedding from the Kotlin Gradle plugin
  • KT-66894 XCFramework task fails when name passed to xcframework DSL is different from framework's name
  • KT-65675 XCFrameworkTask produces an xcframework with mismatched casing in embedded frameworks
  • KT-69119 xcodeVersion task fails if Xcode isn't installed and apple-specific native targets aren't declared
Backend. Wasm
New Features
  • KT-70786 Improve DX of the variable view during debugging in Chrome/Firefox for Kotlin/Wasm
  • KT-70331 Support incremental compilation for the Wasm backend
  • KT-71686 K/Wasm: Add functions to convert between Kotlin and JS array types
  • KT-68185 [WasmJs] Attach js exception object to JsException
Fixes
  • KT-71294 Wasm Artifacts/Resource are being loaded relatively instead of absolutely
  • KT-71473 K/Wasm: Use --closed-world and related options for Binaryen
  • KT-72297 [Wasm] Unused associated object class lead to compiler fail
  • KT-72156 custom-formatters.js exists in JAR after publishToMavenLocal but not in the published artifact in Maven public
  • KT-65799 K/Wasm: remove default exports from wasm exports
  • KT-71800 Wasm compiler: Fix member generation for data classes with an array-type property
  • KT-71580 String::toFloat on wasm behaves differently compared to other targets
  • KT-71523 K/Wasm: cleanup after fix for KT-71474
  • KT-71475 K/Wasm: KClass::qualifiedName returns incorrect result for nested or companion objects
  • KT-71474 K/Wasm: KProperty*Impl equals work incorrectly for clabbale reference created in different files or modules
  • KT-61130 K/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-70394 Investigate increased wasm binary size after switching stdlib compilation to K2
  • KT-69627 Remove create###Array functions from WASM stdlib
  • KT-68509 Fatal: error validating input in compileProductionExecutableKotlinWasmJsOptimize
Compiler
New Features
  • KT-71094 Kotlin/Native incremental compilation: fail compilation if cache build failed
  • KT-21908 Support 'when' exhaustiveness checking for generic type parameter with sealed class upper bound
  • KT-70679 Kotlin/Native: fill WritableTypeInfo from Swift Export type mapping
  • KT-59798 Builder inference is not working when combined with let expression
  • KT-54227 Cannot use nullable Nothing as reified type parameter
  • KT-71430 Kotlin-to-Java direct actualization implementation
  • KT-68163 Expose supplementary compiler warnings via CLI
  • KT-69321 Swift export: enable auto-linkage of binary dependencies
  • KT-11526 Improve diagnostics for "X overrides nothing"
  • KT-49710 False positive NO_ELSE_IN_WHEN with nullable type as receiver
  • KT-69729 Support calling super interface Java methods from Kotlin interface
  • KT-69508 Improve "Public-API inline function cannot access non-public-API" check for the inline property accessors
Performance Improvements
  • KT-71353 FP Kotlin performance degradation (around Cone types hierarchy changes)
  • KT-71159 [K2] OOM on large enum classes with fields
  • KT-69718 K2: Check for jvm nullability annotations in fir2ir is slow
  • KT-68417 Native: LLVM 16 inliner is slow on K/N-produced modules
  • KT-63971 K2: Redundant @ParameterName in abbreviated type in metadata
Fixes
  • KT-71550 JVM IR: NPE on identity equals of boolean true with null
  • KT-72214 -fpass-plugin (clangFlags) is not applied since Kotlin 2.0.20
  • KT-68933 CompilationException: Back-end: Could not get inlined class
  • KT-72255 Promote jspecify from warning to error
  • KT-73065 CCE with context receivers
  • KT-61033 K2: implement a diagnostic corresponding to K1's MISSING_BUILT_IN_DECLARATION
  • KT-72345 K2: Method 'get' without @Override annotation not called
  • KT-71260 K2: Internal compiler error in IrFakeOverrideSymbolBase.getOwner when there is no actual for expect
  • KT-72996 false-positive unresolved reference error on an overloaded callable reference in a lambda return position on the left-hand size of an elvis operator
  • KT-72552 AutoboxingTransformer fails on during linkage on nested lambdas with cinteroped types
  • KT-71751 K2: Skipping code in last statement of lambda
  • KT-71121 Kotlin/JS incremental compilation fails with KotlinIllegalArgumentExceptionWithAttachments
  • KT-60521 Drop language versions 1.4 and 1.5
  • KT-70461 K2: "Inline class types should have the same representation" caused by value class and smart check
  • KT-72238 Argument type mismatch in builder inside extension function after ?:
  • KT-70306 K2: Lambdas are unserializable: inferred from Java param ? super I
  • KT-67383 Incorrect optimisation when optimising for loop with UByte
  • KT-68653 Switch latest stable language version in Kotlin project to 2.1
  • KT-71708 False negative UNSUPPORTED for collection literals as trailing return value
  • KT-72281 K/N: "Failed to wait for cache to be built"
  • KT-72017 Enum property reflection returning null KClassifier property for Enum classes defined inside Kotlin Scripts
  • KT-69040 PCLA: deal with "deep" calls that can be fully analyzed properly
  • KT-69920 K2: java.lang.IllegalArgumentException: FirNamedArgumentExpressionImpl.replaceConeTypeOrNull() during Space project compilation
  • KT-69549 Try to move callable reference transformation earlier in pipeline
  • KT-63944 Kotlin/Native: Cache flavor selection doesn't respect GC kind
  • KT-71649 K2: Put operator on mutableMap<T?, V>() causes crashes on null key
  • KT-70667 K2: "Type parameter * has inconsistent bounds" caused by wildcard and where-clause
  • KT-70562 @SubclassOptInRequired cannot accept multiple experimental marker
  • KT-69407 K2: Compiler crash (Shouldn't be here) due to unresolved reference in FirProjectionRelationChecker
  • KT-71508 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported when java class is inherited from an effectively private class
  • KT-72178 K2: "Unexpected FirPlaceholderProjectionImpl" exception when using "_" as key type in EnumMap
  • KT-70407 Error/warning message for @SubclassOptInRequired-annotated class should provide more context
  • KT-72302 K2: no error on type operator in annotation parameter default value
  • KT-58820 OPT_IN_USAGE_ERROR's message text does not account for SubclassOptInRequired
  • KT-71662 PCLA: a type variable is not fixed on demand to a type containing a not-fixed type variable
  • KT-69739 K2: "KotlinIllegalArgumentExceptionWithAttachments: Unexpected FirPlaceholderProjectionImpl" caused by unresolved references
  • KT-72154 Dokka fails with not array: KClass<out Annotation> on Kotlin 2.1.20-dev with @SubclassOptInRequired
  • KT-70756 K2. Compiler crash with FileAnalysisException on incorrect symbol in nesting lambda
  • KT-72173 K2: simple object names from root package are resolved without imports in non-root packages when used as values
  • KT-71480 JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS isn't reported while java object isn't created
  • KT-71034 Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
  • KT-71016 K/Wasm: Failing compiler/testData/codegen/box/inlineClasses/kt70461.kt
  • KT-52469 Deprecate reified type parameter instantiating into intersection types
  • KT-71753 PCLA: false-negative operator ambiguity error on fixing a type variable on demand for an operator assignment
  • KT-59871 K2: Fix introduced diagnostics
  • KT-71563 'llegalStateException: Source classes should be created separately before referencing' when actualized through typealias and java direct actualization
  • KT-64741 Avoid leaking ConeTypeVariable types in diagnostics from PCLA
  • KT-60447 Builder inference fails to infer generic type argument from local class
  • KT-69170 K2: "Unresolved reference" caused by generics and fun interfaces
  • KT-71756 K2 evaluator: broken resolve of private members during debug of Kotlin project itself
  • KT-68893 Invalid annotation in contract crashes with K2
  • KT-71490 K2: missing REDUNDANT_ELSE_IN_WHEN
  • KT-64403 Implement BlackBoxCodegenTestSpecGenerated for K2
  • KT-71551 JVM IR K1: NPE on generating a function imported from an object from another module
  • KT-71210 K2: false negative FUNCTION_CALL_EXPECTED / NESTED_CLASS_ACCESSED_VIA_INSTANCE_REFERENCE with companion objects
  • KT-71528 K2/JVM: ClassCastException around Array<Nothing?>
  • KT-71228 K2: "IllegalArgumentException: Failed requirement" caused by lambda parameter and class type
  • KT-71738 K2: False negative REDECLARATION inside object expression
  • KT-71701 K2: false positive CAN_BE_VAL with lateinit and non-in-place lambda
  • KT-68694 K2 IDE / Kotlin Debugger: AE “Unresolved reference: <HIDDEN: samples/gen/classes/enum class/EnumClass.lam is invisible” on evaluating private lambda inside enum entry
  • KT-70970 K2 IDE / Kotlin Debugger: AE “Only assignable IrValues can be set” on calling overloaded inc() operator on interface
  • KT-70824 K2: NoSuchFieldException when evaluating private extension property
  • KT-70390 K2 IDE / Kotlin Debugger: can't invoke lambda from private class during evaluation
  • KT-68701 K2 IDE / Kotlin Debugger: AE “ERROR_CALL 'Unresolved reference: <HIDDEN: /privateLambda is invisible>#' type=IrErrorType(null)” on evaluating private top-level lambda
  • KT-68695 K2 IDE / Kotlin Debugger: AE “Unsupported callable reference” on evaluating ::lateinitStr on private lateinit property
  • KT-70861 K2 IDE / Kotlin Debugger: can't evaluate Clazz::class call for private class
  • KT-34911 Improve error message for WRONG_ANNOTATION_TARGET: list applicable targets
  • KT-71601 K2: When with a subject of type dynamic always considered exhaustive
  • KT-33091 Kotlin/Native: Compiler crashes if an external class is declared
  • KT-59651 K1/K2: Assertion error on external enum usage attempt
  • KT-69939 Extract a category of internal FIR checkers from supplementary FIR checkers
  • KT-70850 Pull down typeArguments from ConeKotlinType to ConeClassLikeType
  • KT-71117 K2: "IllegalArgumentException: No type for StarProjection" with star projection and function type
  • KT-71251 Native & JS K2: Missing check for calling isInitialized inside inline fun
  • KT-70161 Native: extracting LLVM 16 on Linux makes the compiler print many "Ignoring unknown extended header keyword 'LIBARCHIVE.creationtime'" messages
  • KT-71215 K2: UB due to the erroneous greening of the red code with multiple delegation with java
  • KT-59386 K2: Missing CONSTANT_EXPECTED_TYPE_MISMATCH
  • KT-69564 Make using -Xuse-k2 compiler flag an error
  • KT-69756 TypeOfLowering: don't create constant object nodes before inlining
  • KT-66328 K2: implement an error for KT-66324
  • KT-71046 K/N: a separate lowering to convert function reference to IrConstantObject
  • KT-69223 Drop parallel lowering mode in JVM backend
  • KT-70260 @JsPlainObject: improve compiler error if a method is present
  • KT-67739 Improve error message when JDK used in -Xjdk-release has corrupted class files
  • KT-63964 K2: different naming of classes defined in script in metadata
  • KT-70014 Common inference: introduce rigidTypeMarker
  • KT-71352 Cannot load script definition class org.gradle.kotlin.dsl.KotlinProjectScriptTemplate
  • KT-63502 Getting java.lang.ClassNotFoundException: javaslang.λ during compilation
  • KT-66316 Kotlin/Native: make @Escapes annotation required for all external functions
  • KT-69653 Prohibit exposing types via type parameters' bounds
  • KT-68451 Inconsistent rules of CFA in enum initialization block
  • KT-70893 K2: Bogus NO_COMPANION_OBJECT on resolve to private qualifier
  • KT-70965 FIR/AA: Initializers for Java annotation arguments mapping capture use-site sessions
  • KT-63945 K2: Prevent possible diagnostic loss
  • KT-64453 K2: Implement ComposeLikeIr...TestGenerated for K2
  • KT-30424 Confusing error message "modality is different"
  • KT-70846 Replace ConeKotlinType.nullability with isMarkedNullable on specific types
  • KT-56720 K2: false positive MANY_IMPL_MEMBER_NOT_IMPLEMENTED in case of delegation in diamond inheritance
  • KT-69937 Define & enforce user-friendly terminology for extended checkers
  • KT-64406 K2: Implement CompileKotlinAgainstJavaTestGenerated for K2
  • KT-69938 Validate sets of default compiler warnings and supplementary compiler warnings
  • KT-68971 Investigate suspicious fragmentation of FIR trees for string literals with interpolation
  • KT-71073 Multi-dollar strings: parser grabs too much if backticks follow a short sequence of '$'
  • KT-71213 Rethrow exceptions in checkers with some useful attachments
  • KT-70395 K2: "Captured Type does not have a classifier" caused by out type and interface hierarchy
  • KT-70133 K2: false negative UNINITIALIZED_VARIABLE when postponed lambda is created before initialization
  • KT-70625 K2: ClassCastException caused by function reference, star projection and invariant type parameter
  • KT-70835 K2: "TYPE_MISMATCH" caused by operator assignment
  • KT-70366 K2: "KotlinIllegalArgumentExceptionWithAttachments: Failed to find functional supertype for class "
  • KT-68834 Parentheses don't influence calls of any convention operators (except invoke operator) after safe navigation operator
  • KT-70358 K2: "java.lang.IllegalArgumentException: No type for StarProjection" when using a star projection on a function type
  • KT-69298 K2: "Initializer type mismatch" caused by elvis operator type inference for nullable typealias
  • KT-71189 K2: emit 'DELEGATE_SPECIAL_FUNCTION_MISSING' and 'DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE' on 'by' keyword
  • KT-71178 K2: False negative NO_ELSE_IN_WHEN in when over nullable type with !is Nothing? check
  • KT-70812 False positive NO_ELSE_IN_WHEN with nullable type argument as subject
  • KT-70947 False positive NO_ELSE_IN_WHEN with DNN subject and nullable sealed class upper bound
  • KT-70752 Review diagnostics with whole declaration as range
  • KT-71160 K2: Rendering of flexible collection types and arrays is too verbose
  • KT-61227 Definitely non-nullable types cause "Any was expected" for @Nullable parameter
  • KT-69389 K2: NONE_APPLICABLE instead of more useful "type mismatch" error with overloads and parameter nullability mismatch
  • KT-69829 Missed UNRESOLVED_LABEL for label in returns and loops
  • KT-61223 JDK 21: new addFirst/addLast and putFirst/putLast methods allow adding nullable value for non-null types
  • KT-66742 Supertypes with inaccessible type arguments are allowed
  • KT-62906 Type system: consider changing simple type & DNN type relation
  • KT-70104 Update the error message for calling super Java interface methods case
  • KT-69794 K2: Wrong target is reported for EXPOSED_SUPER_INTERFACE diagnostic
  • KT-70724 False-positive UNINITIALIZED_VARIABLE for inline constructor with late-initialized variables
  • KT-70749 False-positive UNINITIALIZED_VARIABLE for inline fun with crossinline modifier
  • KT-65805 Migrate builtins serializer to K2
  • KT-71004 FirSignatureEnhancement#enhance mutates attributes on the original function
  • KT-70813 Questionable behavior for calls on ILT receivers
  • KT-70208 'when' is not exhaustive for expect Boolean
  • KT-69210 Native: tune LLVM optimization pipeline
  • KT-70753 K2: Missing non-null assertion on the return value of try-catch block
  • KT-70012 EXTENSION_SHADOWED_BY_MEMBER shouldn't be reported for actual declarations
  • KT-70837 K2. "Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource" on incorrect call with extension fun
  • KT-66751 Implement a general deprecation of types with inaccessible type arguments
  • KT-68748 K2: Remove irFactory from Fir2IrComponents
  • KT-61659 K2: Implement the EXTENSION_SHADOWED_BY_MEMBER warning
  • KT-70709 Range for MUST_BE_INITIALIZED shouldn't include property annotations
  • KT-63294 Do not use duplicated compiler argument names across the codebase
  • KT-70673 False positive NO_ELSE_IN_WHEN with nullable Boolean as subject
  • KT-70672 False positive NO_ELSE_IN_WHEN with nullable Enum as subject
  • KT-69207 Native: use lld when the compiler produces binaries for a Linux target
  • KT-67696 Native: compiler crashes when loading an LLVM bitcode file of unsupported version
  • KT-69767 K2: Investigate differences in tests without alias behavior for cyclic expansion
  • KT-70617 K2: ClassCastException caused by Java enum with overridden name property
  • KT-68796 Non-first invoke operator calls break chained calls of convention operators after safe navigation operator
  • KT-67772 K2: Metadata misses NoInfer annotation for unsafeCast result
  • KT-70304 [FIR2IR] Missing @NoInfer
  • KT-65085 K2: Get rid of special check for unresolved array literals on argument mapping phase
  • KT-65066 K1 crashes, K2 doesn't report type mismatch on array literal inside nested annotation call
  • KT-49235 Kotlin interface limited to 1000 super types
  • KT-69991 K2/JVM: Backend crash with functional types and KFunctions
  • KT-7461 Forbid using projection modifiers inside top-level Array in annotation's value parameter
  • KT-52315 Legacy keywords (header, impl) break enum definitions
  • KT-69499 Native: aggressive inline of runtime procedures causes compiler crash in debug builds
  • KT-69737 Native: incompatible target-cpu attributes between runtime and Kotlin code
  • KT-69911 Unexpected line numbers in default setter
  • KT-61529 K2: Unexpected FirClassLikeSymbol null with -no-jdk
  • KT-69475 K2: No "Name contains illegal characters" for package name with dots inside
  • KT-69484 Native: remove default values for isObjectType
  • KT-70352 K2: False-negative CONFLICTING_UPPER_BOUNDS on Nothing bound
  • KT-59781 K2: 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-67983 K2: False negative "Recursive type alias in expansion" at recursive typealiases
  • KT-70328 K2: @UnsafeVariance stored in the metadata despite the Source retention
  • KT-70313 K2: Don't add Any supertype to kotlin.Nothing compiled from sources
  • KT-69982 K2: New errors when executing :kotlin-stdlib:jvmJar
  • KT-70169 K2: implement a deprecation error for Synchronized, Throws, JvmField on annotation parameters
  • KT-67651 K2: inconsistency in behavior for SAM constructor with flexible type
  • KT-63857 K2: Extra operator modifier in metadata
  • KT-70182 K2: Set up isOperator flag according to operator naming conventions during building synthetic overrides for Java methods
  • KT-20798 Implement a deprecation warning for reified modifier on type parameters of type alias
  • KT-68697 K2 IDE / Kotlin Debugger: NSEE “List is empty.” when method reference is used in some place in code
  • KT-70157 K2: false positive JAVA_CLASS_INHERITS_KT_PRIVATE_CLASS for a Java private class
  • KT-68702 K2 IDE: AE “SyntheticAccessorLowering should not attempt to modify other files!” on evaluating of supermethods toString() and hashCode()
  • KT-69509 K2 IDE / Kotlin Debugger: exception in lowering ReplaceKFunctionInvokeWithFunctionInvoke when compiling code fragment
  • KT-66323 K2: Clarify contracts of ConeSubstitutorByMap
  • KT-69652 K2: False positive "Redundant visibility modifier" with explicitApi()
  • KT-65815 K2: False-positive NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY with inline function returning Nothing?
  • KT-60508 K2/stdlib: compilation of common code fails if built-in types are provided as platform sources
  • KT-70037 K2: Generate IR body for Any constructor despite that fact it's empty
  • KT-69870 K2: False positive NO_VALUE_FOR_PARAMETER for override without default but base with default and with enabled KMP
  • KT-69599 K2: Investiage and fix lots of UNRESOLVED_REFERENCE during building stdlib native with K2
  • KT-68375 K2: FirPrimaryConstructorSuperTypeChecker fails on generated superclasses
  • KT-58309 Deal with test failures inside FirTypeEnhancementTestGenerated
  • KT-27112 Implement prohibition of exposing types via type parameters' bounds
  • KT-69831 Add long FastJarFS tests to the nightlyFirCompilerTest configuration
  • KT-69537 K2: Unintentional behavior caused by InferMoreImplicationsFromBooleanExpressions
  • KT-59814 K2: Explore why FirDataFlowAnalyzer strips away value parameters of non top-level-functions
  • KT-69069 K2: expect overloads are deprioritized in common code
  • KT-69511 KJS / K2: False positive IMPLICIT_BOXING_IN_IDENTITY_EQUALS when comparing dynamic with primitive
  • KT-69500 Native: introduce an option to inline less "ALWAYS_INLINE" runtime procedures
  • KT-69717 K2: Don't call coneType/coneTypeOrNull extensions on FirResolvedTypeRef
  • KT-60440 K2/Java: investigate constructor own type parameters enhancement
  • KT-69871 K2 allows modifier keywords on package declaration
  • KT-61271 Frontend: "The label does not denote a loop." error message is used even if the label does denote a loop
  • KT-69768 K2: Investigate differences in tests without alias behavior with typealias to enum entry
  • KT-63846 K2: incorrect type argument inferred for smart cast value of a generic type
  • KT-69774 Don't report overload resolution ambiguity if extension receiver contains error type
  • KT-61316 K2: Consider throwing exception when replaceType is called on special FirExpressions with immutable types
  • KT-69201 Discard expect candidate in overload conflict resolver if there is no actual
  • KT-69557 K2: Investigate failures with enabled assertion in ConeResolvedAtom constructor
  • KT-69783 K2: Make FirTypeProjection sealed
  • KT-68000 Investigate getting container functions in checkers
  • KT-69649 K2: Cleanup various utilities about toSymbol conversion
  • KT-69185 K2: Prepare a test runner for diagnostic tests with type aliases non-expanded automatically
  • KT-69390 UNRESOLVED_REFERENCE on call with lambda argument turns whole call red
  • KT-68794 K2 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-69315 FirJavaGenericVarianceViolationTypeChecker: StackOverflowError
  • KT-49962 "Visibility inherited is not allowed in forVisibility" when analyzing broken file
  • KT-24212 Report "This class shouldn't be used in Kotlin" on calling constructor of Java class with Kotlin analog
  • KT-64195 K2: Consider make FirAnonymousInitializer. containingDeclarationSymbol not null
  • KT-64254 "Projections are not allowed on type arguments of functions and properties": Type-project type arguments of properties
  • KT-40533 Error message PROPERTY_WITH_NO_TYPE_NO_INITIALIZER for interface property is not fully correct
  • KT-20014 Improve diagnostics for lateinit property without initializer and type annotation
  • KT-51366 False positive error "Value class cannot extend classes" when extending generic interface with wrong number of type arguments
  • KT-68277 K2: false positive UNREACHABLE_CODE for non-local return/break
  • KT-69544 K2: Mapped Java @Target annotation's vararg argument has swapped type and elementType
  • KT-68998 K2: Refactor postponed atoms
  • KT-69288 Native: Apple LLVM 16 fork can't read bitcode with memory attribute produced by upstream LLVM 16
  • KT-67808 K2: Inconsistent properties initialization analysis in init blocks in presence of smartcast on this
  • KT-69035 K2: Investigate potential removal of FirMangler
  • KT-69473 Missing suspend-conversion for lambda in the last statement of when with expected type
  • KT-64640 Prevent mutating SequenceCollection methods from JDK 21 be available on read-only collections
  • KT-65441 K1: Remove JDK 21 getFirst()/getLast() in (Mutable)List interfaces
  • KT-54792 Store program order of properties inside @kotlin.Metadata
  • KT-59832 K2: Fix the TODO about merging values for labels in UnusedChecker
Compose compiler
New features
  • b/328817808 Added the PausableComposition feature flags
  • 83c48a0 Decoy support for JS target is removed from Compose compiler
Fixes
  • CMP-6926 iOS compilation failure: Unresolved reference 'copy'
  • CMP-6842 FAKE_OVERRIDE declarations are not preserved in metadata and should not be marked with annotations
  • CMP-6788 non-private field compilation warnings (stableprop & ComposableSingletons)
  • CMP-6685 Native/WASM compilation failure on Composable function with value-type arg + return
  • b/376058538 Fix stack overflow when inferring stability of indirect generic loop
  • b/339322843 Transform @Composable property delegate references
  • b/366040842, b/365066530 Replace deep copy in Compose plugin with in-place type mutation
  • b/329477544 Force open / overridden Composable functions to be non-restartable.
  • b/361652128 Disable live literal transform if the corresponding flag is disabled
  • b/325004814 [Compose] Fix infinite recursion in target analysis
  • b/357878245 Disallow open @Composable functions with default params to fix binary compatibility issues.
  • b/338597078 [Compose] Fix target warning message
  • b/351858979 Fix stability inferencing of interfaces on incremental compilation
  • b/346821372 [Compose] Fix code generation for group optimization
  • b/339311821 Give warning when stability configuration file is not found
  • b/346821372 Fixes group generation for if statements when nonSkippingGroupOptimization is enabled.
IDE. Gradle Integration
  • KT-48554 [Multiplatform Import] Ensure consistency between GradleImportProperties and PropertiesProvider
IR. Actualizer
  • KT-71631 Kotlin-to-Java direct actualization: java annotation element isn't actualized
  • KT-71597 Kotlin-to-Java direct actualization: it is possible to actualize a function with default parameters
  • KT-71592 Kotlin-to-Java direct actualization: constructor of nested class can't be actualized
  • KT-71577 Kotlin-to-Java direct actualization: method can be actualized by java static method
  • KT-69632 K2: Expect actual mismatch on actualization with alias to expect class
  • KT-71817 Actualization of static members is broken for non-JVM platforms
IR. Inlining
New Features
  • KT-69527 Set the right visibility for synthetic accessors in SyntheticAccessorLowering
Fixes
  • KT-71232 Implement an IR validation check that ensures that all IrFields are private on non-JVM backends
  • KT-69307 Source offsets seem incorrect after IR inlining
  • KT-72884 Internal error in body lowering: IllegalStateException: Can't inline given reference, it should've been lowered
  • KT-71659 IR Inliner fails to inline function expressions due to implicit cast from the

@renovate renovate bot requested a review from hoc081098 May 21, 2024 18:15
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch 2 times, most recently from 1024f92 to 92f2f55 Compare June 21, 2024 00:13
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch from 92f2f55 to 16b1533 Compare August 6, 2024 10:56
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch from 16b1533 to dc1f349 Compare August 22, 2024 10:13
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch from dc1f349 to 184b788 Compare September 17, 2024 13:24
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch from 184b788 to 8a0e4bd Compare October 10, 2024 10:14
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch 2 times, most recently from bcef6f6 to b6dd000 Compare November 21, 2024 00:44
@renovate renovate bot force-pushed the renovate/major-kotlin-ksp-and-compose-compiler branch from b6dd000 to a2a4154 Compare November 27, 2024 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant