Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0#442
Open
renovate[bot] wants to merge 1 commit intomainfrom
Open
Conversation
ca9727a to
5063f27
Compare
d3ac90e to
c1efd5f
Compare
d678e8e to
296de6f
Compare
5e64f50 to
a08b057
Compare
03c5290 to
130ecb2
Compare
130ecb2 to
ffc50db
Compare
ffc50db to
b85a89a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.9.0→1.11.0Release Notes
Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)
v1.11.0==================
This release is based on Kotlin 2.3.20 and provides new Json exceptions API and some bugfixes and improvements.
Expose Json exceptions structure
To make working with exceptions easier and providing proper error codes in e.g., REST APIs,
classes
JsonException,JsonDecodingException, andJsonEncodingExceptionare now public.They have relevant public properties, such as
shortMessage,path,offset, and others.This API is currently experimental, and we're going to improve it further in the subsequent releases.
See the linked issues for the details: #1930, #1877.
Ability to hide user input from exception messages for security/privacy reasons.
Historically, exception messages in kotlinx.serialization often included the input Json itself for debuggability reason.
Such behavior may pose additional challenges for logging, analytics, and other systems, since
a system is not always allowed to store user data due to privacy/security reasons, which imposes additional sanitation logic.
To address this issue, a new property
exceptionsWithDebugInfois added toJsonConfiguration.Disable it to hide user input from exception messages.
IMPORTANT: This behavior will be enabled by default when this property becomes stable.
See #2590 for more details.
Bugfixes and improvements
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: (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 was generated by Mend Renovate. View the repository job log.