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 #15

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

Update kotlin #15

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Oct 4, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin (source) 1.9.22-1.0.16 -> 2.1.0-1.0.29 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json 1.4.1 -> 1.8.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-collections-immutable 0.3.5 -> 0.3.8 age adoption passing confidence
org.jetbrains.kotlin:kotlin-stdlib (source) 1.1.2 -> 2.1.0 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-test 1.7.3 -> 1.10.1 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-play-services 1.7.3 -> 1.10.1 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-android 1.7.3 -> 1.10.1 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-core 1.7.3 -> 1.10.1 age adoption passing confidence
org.jetbrains.kotlin:kotlin-test-junit (source) 1.9.22 -> 2.1.0 age adoption passing confidence
org.jetbrains.kotlin:kotlin-serialization (source) 1.9.22 -> 2.1.0 age adoption passing confidence
org.jetbrains.kotlin:kotlin-gradle-plugin (source) 1.9.22 -> 2.1.0 age adoption passing confidence

Release Notes

google/ksp (com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin)

v2.1.0-1.0.29

Compare Source

Updates
Contributors

Thanks to everyone who reported bugs and participated in discussions!

v2.1.0-1.0.28

Compare Source

What's Changed

Full Changelog: google/ksp@2.1.0-RC2-1.0.28...2.1.0-1.0.28

v2.0.21-1.0.28

Compare Source

Updates

  • [KSP2] Running from command line never finishes #​2176
  • Introduce KspAATask.commandLineArgumentProviders #​2201

Contributors

Thanks to @​GeorgCantor and everyone who reported bugs and participated in discussions!

v2.0.21-1.0.27

Compare Source

Bugs Fixed

  • KSP2: KtInvalidLifetimeOwnerAccessException: Access to invalid KtAlwaysAccessibleLifetimeToken: PSI has changed since creation #​1854
  • [KSP2] getSymbolsWithAnnotation() doesn't work if the annotation is an alias in KOTLIN_LIB #​2024
  • KotlinSymbolProcessingExtension leaks files due to URLClassLoader not being closed #​2159
  • Unresolvable iOS reference on Linux host #​2173
  • Fail to apply ksp before android #​2174
  • [KSP2] Mangled names for internal functions are incorrect for Android modules #​2180
  • [KSP2] JVM names for property getters/setters are incorrect if they start with "is" #​2181

Contributors

Thanks to @​jonamireh, @​kuanyingchou, @​martinbonnin, @​pablobaxter, @​scott-pollom, and everyone who reported bugs and participated in discussions!

v2.0.21-1.0.26

Compare Source

Bugs Fixed

  • A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #​1968
  • [KSP2] default value is null for nested annotation #​2077
  • [KSP2] "internal" members are out of order in Resolver.getDeclarationsInSourceOrder() #​1827
  • [KSP2] Resolver.getDeclarationsFromPackage() couldn't find Java declarations #​1952
  • [KSP2] Property setter parameter name becomes value #​1865
  • [KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #​1941
  • [KSP2] NullPointerException when calling hasBackingField on properties of Enum declarations #​1753
  • JVM Module name is changed for libraries #​2105
  • [KSP2] asMemberOf() is not working with Java sources #​2051
  • KSP2: implement KSPropertyDeclaration.findOverridee and Resolver.asMemberOf for java fields #​1642
  • [KSP2] command line doesn't support absolute Windows paths #​2046
  • [KSP2] NPE when getting annotation arguments on non-Jvm targets #​1823
  • [KSP2] Resolver.mapToJvmSignature() is not consistent #​2109
  • [KSP2] Default annotation argument values are sometimes missing #​2107
  • [KSP2] KSFunctionDeclaration.asMemberOf doesn't work sometimes #​2116
  • [KSP2] Qualified names of nested annotations from JAVA_LIB is null #​2033
  • [KSP2] Class literal annotation default values resolve to error types #​1910
  • KaFirPsiJavaTypeParameterSymbol cannot be cast to KaFirTypeParameterSymbol #​2119
  • KSP memory leak in Android build #​2073
  • [KSP2] KSClassDeclaration.asType(emptyList()) fails after Resolver.getSymbolsWithAnnotation() call #​2094
  • KSValueArgumentImpl doesn't implement .equals() in KSP2 #​2091
  • [KSP2] JvmName is ignored in annotation property getters #​2148
  • [KSP2] Unable to get visibility of KSTypeAlias #​2140
  • Gradle kspKotlin task failed when upgrading to 2.0.20-1.0.25 #​2123
  • [KSP2] Generic type arguments on typealiases are improperly forwarded to the KSType #​2088
  • java.lang.IllegalStateException: Storage for [...] is already registered with 2.0.20-1.0.24 #​2072

Full Changelog: google/ksp@911690b...2.0.21-1.0.26

Contributors

Thanks to @​ansman, @​asapha, @​kaeawc, @​kuanyingchou, @​scott-pollom, and everyone who reported bugs and participated in discussions!

v2.0.21-1.0.25

Compare Source

What's Changed

Full Changelog: google/ksp@2.0.21-RC-1.0.25...2.0.21-1.0.25

v2.0.20-1.0.25

Compare Source

Bugs Fixed

Inlined JVM name is not correct #​1493
[KSP2] NullPointerException when getting name of nested annotation #​1963
[KSP2] The status was unresolved for FirSimpleFunctionImpl #​1938
[KSP2] Class values in type annotations get resolved to error type #​1933
[KSP2] Comparing KSType leads to exception #​1918
[KSP2] Can't find values in repeatable annotations #​1883
incremental: aggregating outputs should always be invalidated #​2027
[KSP2] Not yet implemented: KSValueArgumentLiteImpl.getLocation #​2048
[KSP2] Not yet implemented: KSValueArgumentImpl.getParent #​2049
getSymbolsWithAnnotation returns copy function from data class #​1996
[KSP2] Annotations got use-site target when there are none specified #​1882
getting null pointer exception #​1929
[KSP2] Calling getDeclarationsInSourceOrder throws KotlinIllegalStateExceptionWithAttachments #​1930
[KSP2] A failure occurred while executing com.google.devtools.ksp.gradle.KspAAWorkerAction #​1941
KSP2: Resolver.getJvmNames doesn't work for inline and internal classes #​1640
kspCaches don't work together with Gradle build cache #​2042

Contributors

Thank you so much! @​ansman, @​kuanyingchou

Full Changelog: google/ksp@2.0.20-1.0.24...2.0.20-1.0.25

v2.0.20-1.0.24

Compare Source

What's Changed

v2.0.10-1.0.24

Compare Source

What's Changed

v2.0.0-1.0.24

Compare Source

What's Changed

#​2013 Handle edge cases of KtAnnotated.annotations
#​2009 Fix :kotlin-analysis-api:shadowJar failing on Windows
#​2006 Use symbol-processing-aa-embeddable in Gradle

Bugs Fixed

#​1956 IllegalAccessError in Dagger with KSP2.0.0-1.0.22 and KSP2
#​1998 KSP2 version 2.0.0-1.0.23 crashes on Moshi codegen with NoSuchElementException: Collection contains no element matching the predicate.

Full Changelog: google/ksp@e880744...c63864c

v2.0.0-1.0.23

Compare Source

Issues fixed

  • [KSP2] Nullable type arg type becomes non-null after replace() call #​1856
  • Annotations on enum entires on K2 are missing #​1962
  • Got IllegalStateException when calling replace() on error types #​1960
  • [KSP2] Resolver.getJvmCheckedException doesn't work on property accessors #​1900
  • [KSP2] Property getter JVM names in data classes become componentN instead of getXXX #​1958
  • [KSP2] Resolver.mapToJvmSignature doesn't unwrap inline classes #​1859
  • [KSP2] KSFunctionDeclaration.asMemberOf does not return correct types #​1919
  • implement getOwnerJvmClassName #​1979
  • [KSP2] KSPropertyDeclaration.hasBackingField returns inconsistent results #​1939
  • [KSP2] Annotations on extension receivers are missing #​1899

v2.0.0-1.0.22

Compare Source

Important Changes

  • KSErrorType.toString() now contains the reference name it was tried to be resolved, and therefore KSErrorType is no longer a singleton. Processors relying on equality checks of that (in contrast of using KSType.isError) will need to be updated accordingly.

Issues Fixed

#​1908 KSP2: Calling KSP2 in programs does not appear to work on macOS or Windows
#​1917 KSP2's symbol-processing-aa-embeddable artifact exposes an unresolvable pre-release kotlin 2.0.20 dependency
#​1911 NoSuchMethodError when running KSP2 with Dagger (KSP 2.0.0-1.0.21)
#​1909 KSP2: default annotation arguments no longer work in 1.0.21
#​1232 Expose simple names on a missing types's synthetic declaration
#​1857 [KSP2] Modifiers are missing for property accessors
#​1924 [KSP2] Type arg becomes '*' after calling KSType.replace() with an error type
#​1948 KSP2 default annotation KClass values for built-in types use java.lang.* versions

What's Changed

Full Changelog: google/ksp@2.0.0-1.0.21...2.0.0-1.0.22

v2.0.0-1.0.21

Compare Source

This release brings mostly bug fixes into KSP2 beta
Users are encouraged to try out KSP2 beta.

new feature

expose an API in Resolver to retrieve the module name for handling mangling of internal members #​1621

issues fixed
  • Class values are missing class type in annotation values #​1646
  • Kotlin Function* types reports inconsistent package and qualified names #​1845
  • KSP2 cannot load Android lint checks jar due to FileTooBigException #​1839
  • [KSP2] KSAnnotations with annotation properties with a default value always resolve to null #​1843
  • [KSP2] Modifier.FUN is missing in functional interfaces #​1853
  • [KSP2] ClassCastException when calling KSType.starProjection() on a Java field type #​1735
  • [KSP2] Annotation arguments with default values are missing #​1837
  • [KSP2] Intersection types are not modeled #​1846
  • KSP2: Model enum entries in annotation values #​1861
  • KSP2: Unknown JS backend: Wasm #​1889
  • [KSP2] NullPointerException when getting arguments of annotation value #​1798

v1.9.25-1.0.20

Compare Source

KSP 1.0.20 for Kotlin 1.9.25

v1.9.24-1.0.20

Compare Source

KSP 1.0.20 for kotlin compiler version 1.9.24

v1.9.23-1.0.20

Compare Source

KSP1 issues fixed

  • performance optimization for certain workload consists of heavy Java files, including
    • Replace IdKey's impl with identityHashCode #​1804
    • Cache enclosed descriptors by name #​1808
  • Add excludedSources to the KSP extension object #​1793 thanks to @​bitspittle

KSP2 issues fixed

  • NoClassDefFoundError for LZ4Factory when trying KSP2 #​1713
  • Calling KSType.replace() with original arguments results in #​1807
  • Static fields in base class appear in derived classes #​1744
  • fix backing field checking for top level callables
  • support sealed inheritors lookup.
  • support type alias for getSymbolsWithAnnotation
  • support more types for reference elements

v1.9.23-1.0.19

New APIs
  • #​1708 SymbolProcessorEnvironment.kspVersion
  • #​1707 CodeGenerator.associateWithFunctions and CodeGenerator.associateWithProperties
Issues fixed in KSP2
  • #​1691 IllegalStateException: Value type not found for value
  • #​1719 The order of symbols returned from Resolver.getSymbolsWithAnnotation() is different
  • #​1718 Getting packageName of Kotlin types returns empty String
  • #​1721 KSAnnotation packageName is an empty String for a type from a different module
  • #​1722 Resolver.getDeclarationsFromPackage() returns declarations from the default package when passing in an unknown package
  • #​1717 Resolver.getJvmName() returns different results for annotation args
  • #​1725 asMemberOf() throws exception with a generic type without arguments
  • #​1728 ClassCastException when calling KSType.replace() with empty list
  • #​1713 NoClassDefFoundError for LZ4Factory when trying KSP2
  • #​1665 NoClassDefFound in ksp.useKSP2=true mode
  • #​1733 ABI incompatibility with kotlin-compiler-embeddable in 2.0.0-Beta4
  • #​1714 Generated resources are not added to KotlinCompilation inputs
  • #​1747 isCompanionObject is false for companion objects from KOTLIN_LIB
  • #​1743 Incorrect type parameter variances
  • #​1759 IllegalStateException when getting the modifiers from properties in a Java annotation declaration
Issues fixed in KSP Gradle Plugin
  • #​1712 Analysis API artifacts have the wrong common-deps dependency
  • #​1775 1.0.18 creates circular dependencies with kapt tasks
  • #​1772 Update plugin com.google.devtools.ksp to v1.9.22-1.0.18 BUILD FAILED
Known issues
  • #​1776 KSP2 has higher memory usage when the compile classpath is very large.

v1.9.22-1.0.17

Compare Source

Issues fixed

  • Annotations missing on KSTypeArgument of typealias #​1679
  • unhandled visibility: private to this #​1515
  • Resolver#getJvmCheckedException results in <ERROR TYPE> when throwing type variable. #​1460
  • Class annotation values with $ in name are null when used in Kotlin source #​1671
  • KSP 1.9.21-1.0.15 leaking memory and causing OOMs #​1653
  • KSP processing fails with Java enum #​1482
  • [KSP2] Support Package annotations #​1641
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)

v1.8.0

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

This is a release candidate for the next version. It is based on Kotlin 2.1.0 and includes a few new features, as well
as bugfixes and improvements:

@JsonIgnoreUnknownKeys annotation

Previously, only global setting JsonBuilder.ignoreUnknownKeys controlled whether Json parser would throw exception if
input contained a property that was not declared in a @Serializable class.
There were a lot of complaints that this setting is not
flexible enough.
To address them, we added new @JsonIgnoreUnknownKeys annotation that can be applied on a per-class basis.
With this annotation, it is possible to allow unknown properties for annotated classes, while
general decoding methods (such as Json.decodeFromString and others) would still reject them for everything else.
See details in the corresponding PR.

Stabilization of SerialDescriptor API and @SealedSerializationApi annotation

SerialDescriptor, SerialKind, and related API has been around for a long time and has proven itself useful.
The main reason @ExperimentalSerializationApi was on SerialDescriptor's properties is that we wanted to discourage
people from subclassing it.
Fortunately, Kotlin 2.1 provides a special mechanism for such a
case — SubclassOptInRequired.
New kotlinx.serialization.SealedSerializationApi annotation designates APIs
as public for use, but closed for implementation — the case for SerialDescriptor, which is a non-sealed interface for
technical reasons.
Now you can use most of SerialDescriptor and its builders API without the need to opt-in into experimental
serialization API.
See the PR for more details.

Note: All SerialKinds are stable API now, except PolymorphicKind — we may want to expand it in the future.

Generate Java 8's default method implementations in interfaces

TL;DR This change ensures better binary compatibility in the future for library. You should not experience any
difference from it.

kotlinx.serialization library contains a lot of interfaces with default method implementations. Historically, Kotlin
compiled a synthetic DefaultImpls class for them.
Starting from Kotlin 1.4,
it was possible to compile them using as Java 8's default methods to ensure
that new methods can still be added to interfaces without the need for implementors to recompile.
To preserve binary compatibility with existing clients, a special all-compatbility mode is supported in compiler
to generate both default methods and synthetic DefaultImpls class.

Now, kotlinx.serialization finally makes use of this all-compatibility mode,
which potentially allows us to add new methods to interfaces such as SerialDescriptor, Encoder, Decoder, etc.,
without breaking existing clients. This change is expected to have no effect on existing clients, and no action from
your side is required.
Note that Kotlin 2.2 plans to enable all-compatibility
mode by default.

Other bugfixes and improvements

  • Correctly skip structures with Cbor.ignoreUnknownKeys setting (#​2873)
  • Handle missing system property without NPE (#​2867)
  • Fixed keeping INSTANCE field and serializer function for serializable objects in R8 full mode (#​2865)
  • Correctly parse invalid numbers in JsonLiteral.long and other extensions (#​2852)
  • Correctly handle serial name conflict for different classes in SerializersModule.overwriteWith (#​2856)
  • Add inline reified version of encodeToString as a Json member to streamline the experience for newcomers. (#​2853)
  • Do not check kind or discriminator collisions for subclasses' polymorphic serializers if Json.classDiscriminatorMode
    is set to NONE (#​2833)

v1.7.3

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

This release aims to fix important issues that were discovered in the 1.7.2 release,
including the inability to sync certain projects into Android Studio/IntelliJ IDEA and exceptions from custom Uuid serializers.

It uses Kotlin 2.0.20 by default.

  • Use explicit kotlin-stdlib and kotlin-test versions from version catalog (#​2818)
  • Drop usage of deprecated Any?.freeze() in K/N target (#​2819)
  • Check against serialName instead of simpleClassName (#​2802)
  • Ignore NoClassDefFoundError when initializing builtins map for serializer() function (#​2803)
  • Clarify example for SerializationException (#​2806)

v1.7.2

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

This release provides several new features, including a major Cbor configuration rework.
It uses Kotlin 2.0.20 by default.

Cbor feature set for COSE compliance

This change brings a lot of features to the CBOR format, namely:

  • Serial Labels — see @CborLabel annotation and preferCborLabelsOverNames flag.
  • Tagging of keys and values — see encode*Tags and verify*Tags set of flags
  • Definite length encoding — see useDefiniteLengthEncoding. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.
  • Option to globally prefer major type 2 for byte array encoding — see alwaysUseByteString flag.

Since there are quite a lot of flags now, they were restructured to a separate CborConfiguration class, similarly to JsonConfiguration.
It is possible to retrieve this configuration from CborEncoder/CborDecoder interfaces in your custom serializers (see their documentation for details).

All of these features make it possible to serialize and parse COSE-compliant CBOR, for example, ISO/IEC 18013-5:2021-compliant mobile driving license data.
In case you want to make use of them, there is a predefined Cbor.CoseCompliant instance.
However, some canonicalization steps (such as sorting keys) still need to be performed manually.

This functionality was contributed to us by Bernd Prünster.

Keeping generated serializers

One of the most requested features for serialization plugin was to continue to generate a serializer even if a custom one is specified for the class.
It allows using a plugin-generated serializer in a fallback or delegate strategy, accessing type structure via descriptor, using default serialization behavior in inheritors that do not use custom serializers.

Starting with this release, you can specify the @KeepGeneratedSerializer annotation on the class declaration to instruct the plugin to continue generating the serializer.
In this case, the serializer will be accessible using the .generatedSerializer() function on the class's companion object.

This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.

You can check out the examples in the documentation and in the PRs: #​2758, #​2669.

Serializer for kotlin.uuid.Uuid

Kotlin 2.0.20 added a common class to represent UUIDs in a multiplatform code.
kotlinx.serialization 1.7.2 provides a corresponding Uuid.serializer() for it, making it possible to use it in @Serializable classes.
Note that for now, serializer should be provided manually with @Contextual annotation.
Plugin will be able to automatically insert Uuid serializer in Kotlin 2.1.0.

See more details in the corresponding PR.

Other bugfixes and improvements

  • Prohibited using of zero and negative field numbers in ProtoNumber (#​2766)
  • Improve readability of protobuf decoding exception messages (#​2768) (thanks to xiaozhikang0916)
  • docs(serializers): Fix grammatical errors (#​2779) (thanks to jamhour1g)
  • Fixed VerifyError after ProGuard optimization (#​2728)
  • Add wasm-wasi target to Okio integration (#​2727)

v1.7.1

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

This is a bugfix release that aims to fix missing kotlinx-serialization-hocon artifact.
It also contains experimental integration with kotlinx-io library.
Kotlin 2.0.0 is used by default.

Fixed HOCON publication

Sadly, 1.7.0 release was published incomplete: kotlinx-serialization-hocon artifact is missing from 1.7.0 and 1.7.0-RC releases.
This release fixes this problem and now kotlinx-serialization-hocon is available again with 1.7.1 version.
No other changes were made to this artifact. Related ticket: #​2717.

Add integration with a kotlinx-io library

kotlinx-io is an official multiplatform library that provides basic IO primitives, similar to Okio.
kotlinx.serialization integration is now available in a separate artifact, located at the kotlinx-serialization-json-io coordinates.
Integration artifact provides functions similar to existing Okio integration: encodeToSink, decodeFromSource, and decodeSourceToSequence.
Check out the PR for more details.

Other bugfixes

  • Prohibited use of elements other than JsonObject in JsonTransformingSerializer with polymorphic serialization (#​2715)

v1.7.0

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

This release contains all of the changes from 1.7.0-RC and is compatible with Kotlin 2.0.
Please note that for reasons explained in the 1.7.0-RC changelog, it may not be possible to use it with the Kotlin 1.9.x
compiler plugin. Yet, it is still fully backwards compatible with previous versions.

The only difference with 1.7.0-RC is that classDiscriminatorMode property in JsonBuilder is marked as experimental,
as it should have been when it was introduced (#​2680).

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

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

This is a patch release accompanying Kotlin 1.9.21. It also provides additional targets that were not available in 1.6.1:
wasm-wasi and (deprecated) linuxArm32Hfp.

  • Add Wasm WASI target (#​2510)
  • Bring back linuxArm32Hfp target because it is deprecated, but not removed yet. (#​2505)

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

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

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 chang

Configuration

📅 Schedule: Branch creation - "* 0-3 * * *" (UTC), 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/kotlin branch from 3b9e92b to 759f998 Compare October 6, 2023 05:13
@renovate renovate bot force-pushed the renovate/kotlin branch from 759f998 to 4aae55c Compare October 31, 2023 14:59
@renovate renovate bot force-pushed the renovate/kotlin branch from 4aae55c to 12235b1 Compare November 16, 2023 08:26
@renovate renovate bot force-pushed the renovate/kotlin branch 3 times, most recently from fe41d65 to b31810f Compare November 27, 2023 18:09
@renovate renovate bot force-pushed the renovate/kotlin branch from b31810f to e47353c Compare December 1, 2023 04:57
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 6c16aa4 to 76af3b1 Compare December 16, 2023 11:20
@renovate renovate bot force-pushed the renovate/kotlin branch from 76af3b1 to 5b5cbbb Compare December 22, 2023 04:59
@renovate renovate bot force-pushed the renovate/kotlin branch from 5b5cbbb to 1718b7b Compare January 10, 2024 18:00
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 417affb to 9a53f55 Compare February 1, 2024 21:20
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 4f0a6f9 to cf9deea Compare February 17, 2024 06:00
@renovate renovate bot force-pushed the renovate/kotlin branch from cf9deea to b602068 Compare February 29, 2024 08:29
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 99143ab to 6da42c0 Compare March 10, 2024 17:17
@renovate renovate bot force-pushed the renovate/kotlin branch from 6da42c0 to 45dbb33 Compare March 14, 2024 23:51
@renovate renovate bot force-pushed the renovate/kotlin branch from 45dbb33 to 19aaa8f Compare April 5, 2024 05:53
@renovate renovate bot force-pushed the renovate/kotlin branch 3 times, most recently from 61fc9c1 to 6a1723f Compare May 11, 2024 17:53
@renovate renovate bot force-pushed the renovate/kotlin branch from 6a1723f to 4154ee6 Compare May 23, 2024 02:41
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 432940b to 7e9f2d4 Compare June 9, 2024 08:48
@renovate renovate bot force-pushed the renovate/kotlin branch from 7e9f2d4 to cea2186 Compare June 25, 2024 20:51
@renovate renovate bot force-pushed the renovate/kotlin branch from cea2186 to dd2263f Compare July 12, 2024 17:40
@renovate renovate bot force-pushed the renovate/kotlin branch from dd2263f to d215bdf Compare July 30, 2024 05:35
@renovate renovate bot force-pushed the renovate/kotlin branch from d215bdf to e2a60b2 Compare August 8, 2024 06:00
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 9f9e44f to af4bcf2 Compare August 29, 2024 23:30
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 88ab7ef to 98be4ef Compare September 6, 2024 09:01
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 7db282d to cf35dbc Compare September 21, 2024 11:38
@renovate renovate bot force-pushed the renovate/kotlin branch 2 times, most recently from 37a3899 to 3dd37fd Compare October 12, 2024 05:48
@renovate renovate bot force-pushed the renovate/kotlin branch from 3dd37fd to 52ea979 Compare October 24, 2024 02:46
@renovate renovate bot force-pushed the renovate/kotlin branch from 52ea979 to 1b1bb27 Compare November 8, 2024 02:37
@renovate renovate bot force-pushed the renovate/kotlin branch from 1b1bb27 to 938b2f6 Compare November 16, 2024 08:07
@renovate renovate bot force-pushed the renovate/kotlin branch from 938b2f6 to 55395a3 Compare November 28, 2024 02:44
@renovate renovate bot force-pushed the renovate/kotlin branch from 55395a3 to 798c897 Compare December 21, 2024 08:51
@renovate renovate bot force-pushed the renovate/kotlin branch from 798c897 to 2233a09 Compare January 10, 2025 04:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants