Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 #205
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/org.jetbrains.kotlinx-kotlinx-serialization-json-1.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.9.0->1.10.0Release Notes
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)
v1.10.0==================
This release is based on Kotlin 2.3.0 and contains all of the changes from 1.10.0-RC.
The only additional change is a fix for ProtoBuf packing of Kotlin unsigned types (#3079).
Big thanks to KosmX for contributing the fix.
Stabilization of APIs
kotlinx-serialization 1.10 and subsequent releases will be focused on stabilization of existing APIs.
The following APIs and configuration options are no longer experimental because they're widely used without any known major issues:
Jsonconfiguration options:decodeEnumsCaseInsensitive,allowTrailingComma,allowComments, andprettyPrintIndent. (#3100)@EncodeDefaultannotation and its modes. (#3106)JsonUnquotedLiteralconstructor function (#2900)JsonPrimitiveconstructor function overloads that accept unsigned types. (#3117)JsonElementwithNothing?overloads. (#3117)Readiness for return value checker
Kotlin 2.3.0 introduces a new feature aimed
at helping you to catch bugs related to the accidentally ignored return value of the function.
kotlinx-serialization 1.10.0-RC code is fully marked for this feature, meaning that you
can get warnings for unused function calls like
Json.encodeToString(...).To get the warnings, the feature has to be enabled in your project as described here.
Polymorphism improvements
Polymorphic serialization received a couple of improvements in this release:
New
subclassesOfSealedutility to automatically register sealed subclasses serializers in polymorphic modules (#2201).Use it in your
SerializersModulewhen configuring a polymorphic hierarchy which contains both abstract and sealed classes.For example, when root of your hierarchy is an
interface, but most of your inheritors aresealedclasses.The new function will register all known sealed subclasses for you, so you don’t need to list them one by one.
This makes writing your
SerializerModules much faster and simpler.Big thanks to Paul de Vrieze for contributing this feature.
Class discriminator conflict check rework (#3105).
If a payload already contains a property with the same name as the configured discriminator (for example,
type),it is called a class discriminator conflict.
To produce a correct output and allow more inputs to be deserialized at the same time, the following changes were made:
JsonNamingStrategytransformations are now detected during serialization as well and will causeSerializationException.It also affects non-polymorphic classes.
ClassDisciminatorMode.ALL_JSON_OBJECTSandSerializersModuleBuilder.polymorphicDefaultSerializerare also detected.Previously, it was possible in the sealed hierarchies alone due to missing assertion. See #1664 for details.
General improvements
.serialNametoMissingFieldExceptionfor clearer diagnostics. (#3114)Automatic-Module-Nameentries for metadata JARs. (#3109)Bugfixes
BIGNUM_NEGATIVEtag name. (#3090)Configuration
📅 Schedule: Branch creation - "every weekday,every weekend" (UTC), Automerge - "every weekend" (UTC).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.