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/Compose #21

Merged
merged 1 commit into from
Feb 20, 2024
Merged

Update Kotlin/Compose #21

merged 1 commit into from
Feb 20, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Feb 20, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.5.0 -> 1.6.3 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.6.4 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization (source) 1.8.22 -> 1.9.22 age adoption passing confidence
org.jetbrains.kotlin.multiplatform (source) 1.8.22 -> 1.9.22 age adoption passing confidence
org.jetbrains.kotlin.android (source) 1.8.22 -> 1.9.22 age adoption passing confidence
org.jetbrains.kotlin:kotlin-test (source) 1.8.22 -> 1.9.22 age adoption passing confidence
org.jetbrains.kotlin:kotlin-reflect (source) 1.8.22 -> 1.9.22 age adoption passing confidence

Release Notes

Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)

v1.6.3

==================

This release provides a couple of new features and uses Kotlin 1.9.22 as default.

Class discriminator output mode

Class discriminator provides information for serializing and deserializing polymorphic class hierarchies.
In case you want to encode more or less information for various third party APIs about types in the output, it is possible to control
addition of the class discriminator with the JsonBuilder.classDiscriminatorMode property.
For example, ClassDiscriminatorMode.NONE does not add class discriminator at all, in case the receiving party is not interested in Kotlin types.
You can learn more about this feature in the documentation and corresponding PR.

Other features
Bugfixes and improvements
  • Fix: Hocon polymorphic serialization in containers (#​2151) (thanks to LichtHund)
  • Actualize lenient mode documentation (#​2568)
  • Slightly improve error messages thrown from serializer() function (#​2533)
  • Do not try to coerce input values for properties (#​2530)
  • Make empty objects and arrays collapsed in pretty print mode (#​2506)
  • Update Gradle dokka configuration to make sure "source" button is visible in all API docs (#​2518, #​2524)

v1.6.2

v1.6.1

==================

This release uses Kotlin 1.9.20 by default, while upcoming 1.9.21 is also supported.

Trailing commas in Json

Trailing commas are one of the most popular non-spec Json variations.
A new configuration flag, allowTrailingComma, makes Json parser accept them instead of throwing an exception.
Note that it does not affect encoding, so kotlinx.serialization always produces Json without trailing commas.
See details in the corresponding PR

Support of WasmJs target

Kotlin/Wasm has been experimental for some time and gained enough maturity to be added to the kotlinx libraries.
Starting with 1.6.1, kotlinx.serialization provides a wasm-js flavor, so your projects with Kotlin/Wasm can have even more
functionality.
As usual, just add serialization dependencies to your build
and declare wasmJs target.
Please remember that Kotlin/Wasm is still experimental, so changes are expected.

Bugfixes and improvements

v1.6.0

Compare Source

==================

This release contains all features and bugfixes from 1.6.0-RC plus some bugfixes on its own (see below).
Kotlin 1.9.0 is used as a default, while 1.9.10 is also supported.

Bugfixes

v1.5.1

==================
This release contains an important Native targets overhaul, as well as numerous enhancements and bugfixes.
Kotlin 1.8.21 is used by default.

New set of Native targets

The official Kotlin target support policy has recently been published
describing new target policy: each target belongs to a certain tier, and different tiers have different stability guarantees.
The official recommendation for library authors is to support targets up to Tier 3,
and kotlinx.serialization now follows it.
It means that in this release, there are a lot of new targets added from this tier,
such as androidNativeX86 or watchosDeviceArm64.
Note that since they belong to Tier 3, they're not auto-tested on CI.

kotlinx.serialization also ships some deprecated Kotlin/Native targets that do not belong to any tier (e.g. iosArm32, mingwX86).
We'll continue to release them, but we do not provide support for them, nor do we plan to add new targets from the deprecated list.

Improvements in Json elements

There are two new function sets that should make creating raw Json elements easier.
First one contains overloads for JsonPrimitive constructor-like function
that accept unsigned types: JsonPrimitive(1u).
Second one adds new addAll functions to JsonArrayBuilder to be used with collections
of numbers, booleans or strings: buildJsonArray { addAll(listOf(1, 2, 3)) }
Both were contributed to us by aSemy.

Other enhancements
  • Potential source-breaking change: Rename json-okio target variables to sink (#​2226)
  • Function to retrieve KSerializer by KClass and type arguments serializers (#​2291)
  • Added FormatLanguage annotation to Json methods (#​2234)
  • Properties Format: Support sealed/polymorphic classes as class properties (#​2255)
Bugfixes
  • KeyValueSerializer: Fix missing call to endStructure() (#​2272)
  • ObjectSerializer: Respect sequential decoding (#​2273)
  • Fix value class encoding in various corner cases (#​2242)
  • Fix incorrect json decoding iterator's .hasNext() behavior on array-wrapped inputs (#​2268)
  • Fix memory leak caused by invalid KTypeWrapper's equals method (#​2274)
  • Fixed NoSuchMethodError when parsing a JSON stream on Java 8 (#​2219)
  • Fix MissingFieldException duplication (#​2213)
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test)

v1.8.0

Compare Source

  • Implement the library for the Web Assembly (Wasm) for JavaScript (#​3713). Thanks @​igoriakovlev!
  • Major Kotlin version update: was 1.8.20, became 1.9.21.
  • On Android, ensure that Dispatchers.Main != Dispatchers.Main.immediate (#​3545, #​3963).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • kotlinx-coroutines-debug is published with the correct Java 9 module info (#​3944).
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • kotlinx-coroutines-test: set the default timeout of runTest to 60 seconds, added the ability to configure it on the JVM with the kotlinx.coroutines.test.default_timeout=10s (#​3800).
  • kotlinx-coroutines-test: fixed a bug that could lead to not all uncaught exceptions being reported after some tests failed (#​3800).
  • delay(Duration) rounds nanoseconds up to whole milliseconds and not down (#​3920). Thanks @​kevincianfarini!
  • Dispatchers.Default and the default thread for background work are guaranteed to use the same context classloader as the object containing it them (#​3832).
  • It is guaranteed that by the time SharedFlow.collect suspends for the first time, it's registered as a subscriber for that SharedFlow (#​3885). Before, it was also true, but not documented.
  • Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic transformations are enabled, reducing the footprint of coroutine-heavy code (#​3954).
  • Added a workaround for miscompilation of withLock on JS (#​3881). Thanks @​CLOVIS-AI!
  • Small tweaks and documentation fixes.
Changelog relative to version 1.8.0-RC2
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • Small documentation fixes.

v1.7.3

Compare Source

  • Disabled the publication of the multiplatform library metadata for the old (1.6 and earlier) KMP Gradle plugin (#​3809).
  • Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA (#​3822).

v1.7.2

Compare Source

Bug fixes and improvements
  • Coroutines debugger no longer keeps track of coroutines with empty coroutine context (#​3782).
  • CopyableThreadContextElement now properly copies an element when crossing the coroutine boundary in flowOn (#​3787). Thanks @​wanyingd1996!
  • Coroutine timeouts no longer prevent K/N newSingleThreadContext from closing (#​3768).
  • A non-linearizability in Mutex during tryLock/unlock sequence with owners is fixed (#​3745).
  • Atomicfu version is updated to 0.21.0.

v1.7.1

Compare Source

Bug fixes and improvements
  • Special characters in coroutine names in JSON dumps are supported (#​3747)
  • The binary compatibility of the experimental overload of runTest is restored (#​3673)
  • Channels that don't use onUndeliveredElement now allocate less memory (#​3646)

v1.7.0

Compare Source

Core API significant improvements
  • New Channel implementation with significant performance improvements across the API (#​3621).
  • New select operator implementation: faster, more lightweight, and more robust (#​3020).
  • Mutex and Semaphore now share the same underlying data structure (#​3020).
  • Dispatchers.IO is added to K/N (#​3205)
    • newFixedThreadPool and Dispatchers.Default implementations on K/N were wholly rewritten to support graceful growth under load (#​3595).
  • kotlinx-coroutines-test rework:
    • Add the timeout parameter to runTest for the whole-test timeout, 10 seconds by default (#​3270). This replaces the configuration of quiescence timeouts, which is now deprecated (#​3603).
    • The withTimeout exception messages indicate if the timeout used the virtual time (#​3588).
    • TestCoroutineScheduler, runTest, and TestScope API are promoted to stable (#​3622).
    • runTest now also fails if there were uncaught exceptions in coroutines not inherited from the test coroutine (#​1205).
Breaking changes
  • Old K/N memory model is no longer supported (#​3375).
  • New generic upper bounds were added to reactive integration API where the language since 1.8.0 dictates (#​3393).
  • kotlinx-coroutines-core and kotlinx-coroutines-jdk8 artifacts were merged into a single artifact (#​3268).
  • Artificial stackframes in stacktrace recovery no longer contain the \b symbol and are now navigable in IDE and supplied with proper documentation (#​2291).
  • CoroutineContext.isActive returns true for contexts without any job in them (#​3300).
Bug fixes and improvements
  • Kotlin version is updated to 1.8.20
  • Atomicfu version is updated to 0.20.2.
  • JavaFx version is updated to 17.0.2 in kotlinx-coroutines-javafx (#​3671)..
  • JPMS is supported (#​2237). Thanks @​lion7!
  • BroadcastChannel and all the corresponding API are deprecated (#​2680).
  • Added all supported K/N targets (#​3601, #​812, #​855).
  • K/N Dispatchers.Default is backed by the number of threads equal to the number of available cores (#​3366).
  • Fixed an issue where some coroutines' internal exceptions were not properly serializable (#​3328).
  • Introduced Job.parent API (#​3201).
  • Fixed a bug when TestScheduler leaked cancelled jobs (#​3398).
  • TestScope.timeSource now provides comparable time marks (#​3617). Thanks @​hfhbd!
  • Fixed an issue when cancelled withTimeout handles were preserved in JS runtime (#​3440).
  • Ensure awaitFrame only awaits a single frame when used from the main looper (#​3432). Thanks @​pablobaxter!
  • Obsolete Class-Path attribute was removed from kotlinx-coroutines-debug.jar manifest (#​3361).
  • Fixed a bug when updateThreadContext operated on the parent context (#​3411).
  • Added new Flow.filterIsInstance extension (#​3240).
  • Dispatchers.Default thread name prefixes are now configurable with system property (#​3231).
  • Added Flow.timeout operator as @FlowPreview (#​2624). Thanks @​pablobaxter!
  • Improved the performance of the future builder in case of exceptions (#​3475). Thanks @​He-Pin!
  • Mono.awaitSingleOrNull now waits for the onComplete signal (#​3487).
  • Channel.isClosedForSend and Channel.isClosedForReceive are promoted from experimental to delicate (#​3448).
  • Fixed a data race in native EventLoop (#​3547).
  • Dispatchers.IO.limitedParallelism(valueLargerThanIOSize) no longer creates an additional wrapper (#​3442). Thanks @​dovchinnikov!
  • Various @FlowPreview and @ExperimentalCoroutinesApi are promoted to experimental and stable respectively (#​3542, #​3097, #​3548).
  • Performance improvements in Dispatchers.Default and Dispatchers.IO (#​3416, #​3418).
  • Fixed a bug when internal suspendCancellableCoroutineReusable might have hanged (#​3613).
  • Introduced internal API to process events in the current system dispatcher (#​3439).
  • Global CoroutineExceptionHandler is no longer invoked in case of unprocessed future failure (#​3452).
  • Performance improvements and reduced thread-local pressure for the withContext operator (#​3592).
  • Improved performance of DebugProbes (#​3527).
  • Fixed a bug when the coroutine debugger might have detected the state of a coroutine incorrectly (#​3193).
  • CoroutineDispatcher.asExecutor() runs tasks without dispatching if the dispatcher is unconfined (#​3683). Thanks @​odedniv!
  • SharedFlow.toMutableList and SharedFlow.toSet lints are introduced (#​3706).
  • Channel.invokeOnClose is promoted to stable API (#​3358).
  • Improved lock contention in Dispatchers.Default and Dispatchers.IO during the startup phase (#​3652).
  • Fixed a bug that led to threads oversubscription in Dispatchers.Default (#​3642).
  • Fixed a bug that allowed limitedParallelism to perform dispatches even after the underlying dispatcher was closed (#​3672).
  • Fixed a bug that prevented stacktrace recovery when the exception's constructor from cause was selected (#​3714).
  • Improved sanitizing of stracktrace-recovered traces (#​3714).
  • Introduced an internal flag to disable uncaught exceptions reporting in tests as a temporary migration mechanism (#​3736).
  • Various documentation improvements and fixes.

Changelog for previous versions may be found in CHANGES_UP_TO_1.7.md

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

v1.9.22

JavaScript
  • KT-63719 KJS: Test results ignored for ES module kind
  • KT-63808 compileTestDevelopmentExecutableKotlinJs failed in JsIntrinsicTransformers
Native
  • KT-64139 Weird bug with while and coroutine in Kotlin Native
  • KT-63471 linkDebugTestIosX64 Failed to build cache: NoSuchFileException bitcode_deps
  • KT-63789 Native: Incremental compilation problem with compose
Tools. CLI
  • KT-64485 CLI: cache and optimize parsing of command-line arguments
Tools. Gradle
  • KT-63990 "Cannot query the value of property 'buildFlowServiceProperty' because it has no value available" with Isolated Projects
Tools. Gradle. Native
  • KT-63363 Kotlin Gradle Plugin: KotlinNativeHostSpecificMetadataArtifact breaks configuration cache, implicitly includes output file as configuration cache input
  • KT-63742 Gradle wrongly caches Kotlin/Native compiler flags
Tools. JPS
  • KT-64305 Kotlin JPS builder requests chunk rebuild with graph implementation
  • KT-64112 Avoid using IJ's JPS mappings in Kotlin JPS tests
  • KT-63799 Make plugin classpath serialization path agnostic

v1.9.21

Compiler
  • KT-62885 Introduce a language feature entry for expect actual classes for easier configuration of MPP projects
  • KT-63081 Optimize new native caches: CachedLibraries.computeVersionedCacheDirectory()
Docs & Examples
  • KT-55619 Document String.format function
IDE. Gradle Integration
  • KT-62877 Artifact files collecting for project configuration was finished. Resolution for configuration configuration X will be skipped
IDE. Gradle. Script
  • KT-60813 Scripts: NoSuchMethodError: 'void org.slf4j.Logger.error(java.lang.String, java.lang.Object)' when dependency uses Slf4j API
JavaScript
  • KT-60785 KJS: Destructured value class in suspend function fails with Uncaught TypeError: can't convert to primitive type error
  • KT-63207 KMP / JS: "TypeError: <mangled_name> is not a function" with 1.9.20
  • KT-62778 package.json "main" field has .js extension when the result files have .mjs extension
  • KT-61795 KJS: Incremental Cache is not invalidated if useEsClasses compiler argument was changed
  • KT-61957 KJS: "Uncaught ReferenceError: entries is not defined" caused by enum class with @JsExport and Enum.entries call
  • KT-62444 KJS with commonJS modules should re-export in 1.9.20
  • KT-63184 KJS / Serialization: JsExport on serializable interface creates erroneous TypeScript
  • KT-62190 KJS: "IllegalStateException: Expect to have either super call or partial linkage stub inside constructor" caused by Compose and useEsModules()
  • KT-58685 KJS: "IllegalStateException: Not locked" cused by "unlock" called twice
Klibs
  • KT-62515 Interop klib of concurrent version is not accepted when building dependent project: "The library versions don't match"
Tools. CLI
  • KT-63139 Incorrect kotlin implementation version (1.9.255-SNAPSHOT) in metadata info
Tools. Gradle
  • KT-63499 Gradle: Source sets conventions are still registered
Tools. Gradle. JS
  • KT-59523 MPP / KJS: ESM modules uses incorrect file extension on package.json (.mjs)
Tools. Gradle. Kapt
  • KT-63366 Kapt processing fails with custom source sets
Tools. Gradle. Multiplatform
  • KT-32608 Create JUnit-XML result file in multiplatform gradle build
  • KT-63315 Wasm gradle plugin DSL is invalid for parameterless wasmWasi method
  • KT-63338 [KMP] metadata task fails to find cinterop classes from dependency projects
  • KT-63044 KGP: Multiplatform - 8.4 configuration cache support
  • KT-63011 Apple Framework Artifacts is not connected to KotlinNativeTask
  • KT-62601 AS/IntelliJ exception after updating a KMP project with a macos target to Kotlin 1.9.20-RC
Tools. Incremental Compile
  • KT-61590 K2/KMP: Expect actual matching is breaking on the incremental compilation
Tools. JPS
  • KT-63594 ClassCastException in JPS statistics
  • KT-63651 Fix NPE in Kotlin JPS after enabling graph implementation of JPS
Tools. Kapt
  • KT-57389 KAPT3 uses a Javac API for JCImport which will break in JDK 21
  • KT-60507 Kapt: "IllegalAccessError: superclass access check failed" using java 21 toolchain
Tools. Scripts
  • KT-54819 Scripts: Not able to use slf4j in .main.kts
  • KT-61727 Scripts: Maven artifacts resolution is slow

v1.9.20

Analysis. API
New Features
  • KT-58834 Analysis API: Add source shadowing feature to resolve extensions
Performance Improvements
  • KT-57515 LL FIR: Performance bottleneck in CompositeModificationTracker.getModificationCount
  • KT-59266 K2: optimize FirElementBuilder.getOrBuildFir for elements outside body
  • KT-59454 K2: drop resolve from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59453 K2: completion regression from org.jetbrains.kotlin.analysis.api.fir.components.KtFirVisibilityChecker#collectContainingDeclarations
  • KT-59189 Analysis API: KtFirKDocReference.resolveToSymbols is slow
  • KT-58125 K2: LL FIR: KtToFirMapping.getElement is slow for KtUserTypes due to on-air resolution of types
Fixes
  • KT-59240 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from superTypes
  • KT-58499 K2: FirLazyBlock should be calculated before accessing
  • KT-57966 K2: Analysis API: Reference Shortener does not work correctly when called on entire file
  • KT-60954 K2: Analysis API: Reference shortener does not work correctly with variable assignments
  • KT-60940 K2: Analysis API: Reference shortener incorrectly handles types in vararg parameters declarations
  • KT-60488 Analysis API: forbid providing custom KtLifetimeToken for every analyze call
  • KT-60728 K2: proper support for scripts in LL FIR transformers
  • KT-59159 K2 IDE: declaration is not found exception
  • KT-59297 K2: exception from body resolve leads to corrupted state and broken analysis
  • KT-59077 KtFirExpressionTypeProvider behaviour for KtSimpleNameReferences in function calls
  • KT-60586 K2: forbid analyze from write action
  • KT-57743 K2 IDE: StackOverflowError from LLFirSessionCache for simple JPS project with cyclic dependencies
  • KT-61026 K2 Scripts: FirLazyExpression should be calculated before accessing from on-air resolve
  • KT-61009 K2 Scripts: KtFirExpressionTypeProvider: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-60357 K2 IDE. Reified types parameters are not resolved in a function body
  • KT-60317 K2 IDE. IAE "This method will only work on compiled declarations, but this declaration is not compiled" on invoking Find Usages for enum method in library
  • KT-60706 K2 IDE: FirJvmTypeMapper is not found for kotlin.kotlin-stdlib-common
  • KT-60552 K2: merge StateKeeper and lazy body calculator for ANNOTATIONS_ARGUMENTS_MAPPING transformer
  • KT-60641 Analysis API: Scope for class org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl not found exception when stdlib is missing
  • KT-60638 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImplWithoutSource
  • KT-54846 Analysis API: add isExpect/isActual to KtSymbol
  • KT-60448 FirLazyResolveContractViolationException: lazyResolveToPhase(COMPILER_REQUIRED_ANNOTATIONS) cannot be called from a transformer with a phase COMPILER_REQUIRED_ANNOTATIONS from AllOpen plugin
  • KT-59342 K2 IDE. FirLazyResolveContractViolationException: lazyResolveToPhase(TYPES) cannot be called from a transformer with a phase TYPES
  • KT-59687 K2: Implement proper body update for in-block modifications
  • KT-59329 Resolve Extensions reference resolution breaks Find Usages
  • KT-60295 K2: move checkIsResolved for annotations from LLFirAnnotationArgumentsLazyResolver to LLFirTypeLazyResolver
  • KT-59758 K2: Expected is FirResolvedTypeRef, but was FirImplicitTypeRefImplWithoutSource from ReturnTypeCalculatorWithJump
  • KT-60377 K2 IDE: This method will only work on compiled declarations, but this declaration is not compiled
  • KT-59685 K2: rewrite on-air resolution
  • KT-60132 K2: properties and functions without a name should be re-analyzable as well
  • KT-59199 K2 IDE: PSI changes which do not cause OOB modifications can be unseen from the FIR elements
  • KT-59667 Analysis API: PsiInvalidElementAccessException from JavaClassifierTypeImpl.substitutor
  • KT-59705 KotlinExceptionWithAttachments: No fir element was found for getter
  • KT-59697 AA standalone: JRT module paths are not properly populated in Windows
  • KT-59505 K2: implicit type lazy resolution doesn't work for delegated declaration from other module
  • KT-56426 K2 IDE: Typealised functional types cannot be rendered
  • KT-59598 AA: stackoverflow while simplifying a type with a recursive type parameter
  • KT-58497 K2: Expected FirResolvedTypeRef for initializer type of FirPropertyImpl(Source) but FirImplicitTypeRefImplWithoutSource found
  • KT-59511 AA standalone mode creates Application Environment for tests
  • KT-58161 Analysis API: Make methods in KtCallResolverMixIn more distinctive based on their receiver/return type
  • KT-59093 Do not throw exception on KtCall resolution, KtCallElement.resolveCall should return null on unknown cases
  • KT-59243 K2: FirLazyResolveContractViolationException: lazyResolveToPhase(IMPORTS) cannot be called from a transformer with a phase IMPORTS from permits types
  • KT-58194 K2: Low Level API: use smart pointers to store references to PSI from FIR declarations for JavaElement
  • KT-59133 K2: java.lang.IllegalStateException: Fir is not initialized for FirRegularClassSymbol
  • KT-58174 K2: LL FIR: Invalid type reference for T & Any type
  • KT-52615 LL FIR: build RAW FIR only by stubs
  • KT-55053 K2: Exception "lateinit property diagnostic has not been initialized" in FirBuilder
  • KT-58580 K2: LL FIR: Declarations provided by resolve extensions from a dependency module are not visible through LLFirCombinedKotlinSymbolProvider
  • KT-58992 Analysis API: move org.jetbrains.kotlin.analysis.api.fir.utils.addImportToFile out of Analysis API
  • KT-58727 K2: AA FIR: implicit type in delegated function treated as error
  • KT-58653 K2: Analysis API: add functions for KtScope members access by name
  • KT-57559 K2 IDE: KotlinExceptionWithAttachments: Modules are inconsistent on intellij project
  • KT-58262 Analysis API: Declarations from Analysis API Resolve Extensions are not seen from completion
  • KT-57455 LL FIR: Combine AbstractFirDeserializedSymbolProviders in session dependencies (optimization)
  • KT-57207 LL FIR: Combine JavaSymbolProviders in session dependencies (optimization)
  • KT-58546 K2: LL FIR: support name collision in a designation path
  • KT-58495 K2: Lazy calculation is redundant
  • KT-58500 K2: null cannot be cast to non-null type org.jetbrains.kotlin.fir.FirPureAbstractElement
  • KT-58493 K2: Expected FirResolvedTypeRef for default value type of FirValueParameterImpl(Source) but FirUserTypeRefImpl found
  • KT-58496 K2: Expected FirNamedReference, FirErrorNamedReference or FirFromMissingDependenciesNamedReference, but FirExplicitSuperReference found
  • KT-58491 K2: Expected FirResolvedTypeRef or FirImplicitTypeRef for return type of FirDefaultPropertyBackingField(Synthetic) but FirUserTypeRefImpl found
  • KT-56550 LL FIR: implement parallel resolve for non-jumping phases
  • KT-58503 Analysis API: KtFirNamedClassOrObjectSymbol.visibility/modality do not trigger STATUS resolve
  • KT-57623 K2 IDE: ConcurrentModificationException from getSuperConeTypes
  • KT-58083 K2: LL FIR: implement FakeOverrideTypeCalculator
Android
  • KT-27170 Android lint tasks fails in Gradle with MPP dependency
Backend. Native. Debug
  • KT-61131 Virtual functions trampolines have invalid debug info
Backend. Wasm
Fixes
  • KT-60244 K/Wasm: make the compiler compatible with Wasm GC phase 4 (Final) specification
  • KT-61262 K/Wasm: add a way to turn on k2 in wasm examples that don't use compose
  • KT-61343 K/Wasm: add a wasi example to kotlin-wasm-examples
  • KT-62147 [Kotlin/Wasm] Nothing typed when expression cause a backend error
  • KT-59720 K/Wasm: update to final opcodes
  • KT-60834 K/Wasm: investigate consequences of stopping using br_on_cast_fail
  • KT-59294 WASM: localStorage Cannot read properties of undefined (reading 'length')
  • KT-60835 K/Wasm: fix compatibility with Node.js 20.*
  • KT-60113 K/Wasm: illegal cast when using 1.9.20-dev
  • KT-60496 Compose-web Wasm crashes on remember { null } calls
  • KT-58746 K/Wasm: Make Arrays' constructors with size and lambda inline (similar to other implementations)
  • KT-58993 [K/Wasm] Fix w3c declarations with lambda parameters
  • KT-59722 K/Wasm: Support new encoding with flags for br_on_cast and br_on_cast_fail instructions
  • KT-59713 K/Wasm: Implement enumEntries intrinsic
  • KT-59082 WASM: NullPointerException caused by companion with String type constants
  • KT-58941 WASM Hang with extension delegate inside a Class
  • KT-60200 K/Wasm: generate types without supertypes properly
  • KT-52178 IR dump doesn't seem to work for Kotlin/WASM phases
  • KT-59556 Wasm: critical dependency when using with webpack
  • KT-58681 K/Wasm: division remainder has a wrong sign
  • KT-56711 Wasm: IllegalStateException caused by dynamic type
Compiler
New Features
  • KT-58551 KMP: check all annotation from expect declaration are present on actual
  • KT-58554 KMP: restrict expect opt-in annotations and actual typealiases to annotations with special meaning
  • KT-58545 KMP: prohibit implicit actualization via Java
  • KT-58536 KMP: prohibit expect tailrec / expect external
  • KT-59764 Make a frontend checker that reports cast to forward declaration as unchecked
  • KT-60528 Updates for JVM/IR backend of kotlin-atomicfu-compiler-plugin
  • KT-59558 Add support for creating annotation instances with type parameters
  • KT-52367 Devirtualization algorithm improvement
  • KT-58652 Native: Implement frontend checkers for HiddenFromObjC on classes
Performance Improvements
  • KT-59600 K2: CFG: do not add edges to nested classes and functions
  • KT-57860 K/N: Functions with default arguments of value/inline class types have poor performance due to value class boxing
Fixes
  • KT-60387 K2: IDE K2: "org.jetbrains.kotlin.fir.expressions.impl.FirArgumentListImpl cannot be cast to class org.jetbrains.kotlin.fir.expressions.impl.FirResolvedArgumentList"
  • KT-61228 False positive MUST_BE_INITIALIZED_OR_FINAL_OR_ABSTRACT_WARNING for effectively final properties
  • KT-61643 "Argument type mismatch" for mixed Java/Kotlin Project with Java 21
  • KT-62389 JDK 21: Cannot access class 'TimeUnit'. Check your module classpath for missing or conflicting dependencies
  • KT-56768 K2. No error description on incomplete try catch declaration
  • KT-52220 FIR + LightTree - Consider building a single tree on parsing into LightTree
  • KT-60601 K2 / Maven: Overload resolution ambiguity between candidates inline method
  • KT-62027 "java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0" caused by ClassicExpectActualMatchingContext.kt when annotation @AllowDifferentMembersInActual used
  • KT-62747 Wrong warning message when overriding vararg with Array during actualization
  • KT-62655 Don't report a warning when new members and new supertypes are added to open expect actualization
  • KT-62313 Kotlin/Native Compiler crash: ClassCastException in IntrinsicGenerator
  • KT-60902 visibility vs upper bound expect actual matching conflict
  • KT-61095 K2: "IAE: source must not be null" from FirMultipleDefaultsInheritedFromSupertypesChecker
  • KT-47567 'Val cannot be reassigned' error not reported in unreachable code
  • KT-59468 K2: build realm-kotlin
  • KT-62026 KMP: Correctly handle a case when annotation on expect de

Configuration

📅 Schedule: Branch creation - "before 5am on Monday" in timezone Europe/London, Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot enabled auto-merge (rebase) February 20, 2024 10:39
@renovate renovate bot merged commit bc90682 into main Feb 20, 2024
2 checks passed
@renovate renovate bot deleted the renovate/kotlincompose branch February 20, 2024 10:42
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.

0 participants