Skip to content
This repository has been archived by the owner on Jul 21, 2023. It is now read-only.

Update kotlin #91

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

Update kotlin #91

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 1, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 1.6.4 -> 1.7.2 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.4.0 -> 1.5.1 age adoption passing confidence
com.google.devtools.ksp (source) 1.7.10-1.0.6 -> 1.9.0-1.0.12 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization 1.7.10 -> 1.9.0 age adoption passing confidence
org.jetbrains.kotlin.jvm 1.7.10 -> 1.9.0 age adoption passing confidence

Release Notes

Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-jdk8)

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

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

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)

v1.5.0

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

This release contains all features and bugfixes from 1.5.0-RC plus some experimental features and bugfixes on its own (see below).
Kotlin 1.8.10 is used as a default.

HoconEncoder and HoconDecoder interfaces and HOCON-specific serializers

These interfaces work in a way similar to JsonEncoder and JsonDecoder: they allow intercepting (de)serialization process,
making writing if custom HOCON-specific serializers easier. New ConfigMemorySizeSerializer and JavaDurationSerializer already make use of them.
See more details in the PR.
Big thanks to Alexander Mikhailov for contributing this!

Ability to read buffered huge strings in custom Json deserializers

New interface ChunkedDecoder allows you to read huge strings that may not fit in memory by chunks.
Currently, this interface is only implemented by Json decoder that works with strings and streams,
but we may expand it later, if there's a demand for it.
See more details in the PR authored by Alexey Sviridov.

Bugfixes
  • Improve runtime exceptions messages (#​2180)
  • Added support for null values for nullable enums in lenient mode (#​2176)
  • Prevent class loaders from leaking when using ClassValue cache (#​2175)

v1.4.1

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

This is patch release contains several bugfixes and improvements.
Kotlin 1.7.20 is used by default.

Improvements
  • Add @​MustBeDocumented to certain annotations (#​2059)
  • Deprecate .isNullable in SerialDescriptor builder (#​2040)
  • Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#​1992)
  • Serializers are now cached inside reflective lookup, leading to faster serializer retrieval (#​2015)
  • Compiler plugin can create enum serializers using static factories for better speed (#​1851) (Kotlin 1.7.20 required)
  • Provide foundation for compiler plugin intrinsics available in Kotlin 1.8.0 (#​2031)
Bugfixes
google/ksp (com.google.devtools.ksp)

v1.9.0-1.0.12

Compare Source

Issues Fixed

The complete list of issues fixed in this release can be found here.

Other Notable Changes

While there is still no direct model of package elements, the following APIs in Resolver are added to better support the operations around packages:

  • fun getPackageAnnotations(packageName: String): Sequence<KSAnnotation>
  • fun getPackagesWithAnnotation(annotationName: String): Sequence<String>

Contributors

Thank you for the PRs!

@​cdsap
@​damianw
@​danysantiago
@​lukellmann
@​ribafish

v1.9.0-1.0.11

Compare Source

v1.8.22-1.0.11: Release

Compare Source

v1.8.21-1.0.11: Release

Compare Source

Bump Kotlin Compiler to 1.8.21 for 1.0.11 release

v1.8.20-1.0.11: Release

Compare Source

Issues fixed

Incremental compilation fails with "Number of loaded files in snapshots differs" #​1280

v1.8.20-1.0.10

Compare Source

New Features

KSP can now be run with K2 compiler frontend.

  • note that KSP itself still runs in old frontend implementation as its own task, there might be some behavior differences with new compiler frontend (e.g. you might get different type resolution results)

Issues fixed

  • KSP up-to-date after changing processor code #​1308
  • Java annotation array type value in java will break getAnnotationsByType #​1329
  • Gradle configuration warning: "Configuration is both resolvable/consumable or consumable/declarable #​1293
  • Defer resolution of processor classpath #​1294

Known issue

There is a known issue with incremental with this release #​1280 from compiler update, we are working on a hotfix release to address this, if you are impacted by this issue, please try to disable incremental or hold on for hotfix release.

Contributors

Thanks for your contributions!
@​larryxiao625
@​ansman

v1.8.10-1.0.9

Compare Source

v1.8.0-1.0.9

Compare Source

New Features

  • Supported definitely non null type
    • Added corresponding KSDefNonNullReference for definitely non null types.
    • If you are implementing KSVisitor directly, you need to override visitDefNonNullReference in your visitor as well.
  • excludedProcessors is added to Gradle extensions to allow excluding certain processors.
  • Any? is added to unbounded type parameters

Issues fixed

  • Incremental compilation fails with "Number of loaded files in snapshots differs" #​1280
  • Type T & Any can't be analyzed even in the latest version. #​1127
  • Can't differentiate between @​A(int.class) and @​A(Integer.class) #​870
  • Non-embeddable compiler JAR compilations are broken in 1.0.7 #​1155
  • Need a way to specify and exclude processors #​1234
  • Bug of KSPropertyDeclaration.findOverridee() #​1182
  • KSTypeParameter#bounds returns when the bounds is another type parameter #​1250
  • Resolved KSTypeParameter doesn't equal the source #​971

Contributors

Thanks for your contributions!
@​3flex
@​danysantiago

v1.8.0-1.0.8

Compare Source

KSP 1.0.8 for Kotlin 1.8.0.

v1.7.22-1.0.8

Compare Source

KSP 1.0.8 for Kotlin 1.7.22

v1.7.21-1.0.8

Compare Source

KSP 1.0.8 for Kotlin 1.7.21

v1.7.20-1.0.8

Compare Source

Issues Fixed

  • fixed nested java class resolution for more cases.
  • #​1153 isMutable is always true for fields in Java source
  • K/N: fix duplicated compilation

contributors

@​cdsap
@​3flex

v1.7.20-1.0.7

Compare Source

Behavior Changes

blockOtherPlugins is on by default. The old behavior (allowing other plugins to be loaded in KSP's Gradle task) is deprecated and will be removed in the future.

New Features

#​1041 A new CodeGenerator.createFile method with more flexibility

Issues Fixed

#​167 nullability for java sources ignores annotations
#​897 Compatibility with Kotlin/Native compiler plugins
#​974 Exceptions are swallowed when using withCompilation flag
#​985 No "kotlin.ExtensionFunctionType" annotation on functional types with receivers
#​989 NoSuchElementException when getting a default argument of the inner annotation type
#​997 Incremental KSP fails in Java/Kotlin mixed module
#​1011 Generic TypeAliases Parameter are not consistent resolved
#​1034 After updating to KSP 1.7.0, Missing information occurs in some cases that are configured in Java.
#​1039 Support class extraction provided by annotation
#​1063 Memory leak: org.sqlite.JDBC holds classloader of KSP

Contributors

Thank you for the pull requests!
@​Jeffset
@​midery
@​jameskleeh
@​Bencodes
@​heli-os

v1.7.20-1.0.6

Compare Source

KSP 1.0.6 for Kotlin 1.7.20


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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.

@NyCodeGHG
Copy link
Owner

on hold because of compose

@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 25d9d14 to 15ba957 Compare October 14, 2022 18:57
@renovate renovate bot force-pushed the renovate/kotlin branch 3 times, most recently from 346361a to 329948c Compare November 9, 2022 19:15
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 4786e02 to 6e13cda Compare November 28, 2022 21:45
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from f78fbf1 to 339fc77 Compare June 9, 2023 00:34
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 9faf56f to 75bdb85 Compare July 6, 2023 07:06
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant