Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.6.3 to 1…
….7.3 in /android (#171) Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) from 1.6.3 to 1.7.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.serialization/releases">org.jetbrains.kotlinx:kotlinx-serialization-json's releases</a>.</em></p> <blockquote> <h2>1.7.3</h2> <p>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.</p> <p>It uses Kotlin 2.0.20 by default.</p> <ul> <li>Use explicit kotlin-stdlib and kotlin-test versions from version catalog (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2818">#2818</a>)</li> <li>Drop usage of deprecated Any?.freeze() in K/N target (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2819">#2819</a>)</li> <li>Check against serialName instead of simpleClassName (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2802">#2802</a>)</li> <li>Ignore NoClassDefFoundError when initializing builtins map for serializer() function (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2803">#2803</a>)</li> <li>Clarify example for SerializationException (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2806">#2806</a>)</li> </ul> <h2>1.7.2</h2> <p>This release provides several new features, including a major Cbor configuration rework. It uses Kotlin 2.0.20 by default.</p> <h2>Cbor feature set for COSE compliance</h2> <p>This change brings a lot of features to the CBOR format, namely:</p> <ul> <li>Serial Labels — see <code>@CborLabel</code> annotation and <code>preferCborLabelsOverNames</code> flag.</li> <li>Tagging of keys and values — see <code>encode*Tags</code> and <code>verify*Tags</code> set of flags</li> <li>Definite length encoding — see <code>useDefiniteLengthEncoding</code>. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.</li> <li>Option to globally prefer major type 2 for byte array encoding — see <code>alwaysUseByteString</code> flag.</li> </ul> <p>Since there are quite a lot of flags now, they were restructured to a separate <code>CborConfiguration</code> class, similarly to <code>JsonConfiguration</code>. It is possible to retrieve this configuration from <code>CborEncoder/CborDecoder</code> interfaces in your custom serializers (see their documentation for details).</p> <p>All of these features make it possible to serialize and parse <a href="https://datatracker.ietf.org/doc/html/rfc8152">COSE-compliant CBOR</a>, 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 <code>Cbor.CoseCompliant</code> instance. However, some canonicalization steps (such as sorting keys) still need to be performed manually.</p> <p>This functionality <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2412">was contributed</a> to us by <a href="https://github.com/JesusMcCloud">Bernd Prünster</a> and <a href="https://github.com/nodh">Christian</a>.</p> <h2>Keeping generated serializers</h2> <p>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.</p> <p>Starting with this release, you can specify the <code>@KeepGeneratedSerializer</code> annotation on the class declaration to instruct the plugin to continue generating the serializer. In this case, the serializer will be accessible using the <code>.generatedSerializer()</code> function on the class's companion object.</p> <blockquote> <p>This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.</p> </blockquote> <p>You can check out the examples in <a href="https://github.com/Kotlin/kotlinx.serialization/blob/HEAD/docs/serializers.md#simultaneous-use-of-plugin-generated-and-custom-serializers">the documentation</a> and in the PRs: <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2758">#2758</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2669">#2669</a>.</p> <h2>Serializer for kotlin.uuid.Uuid</h2> <p>Kotlin 2.0.20 <a href="https://kotlinlang.org/docs/whatsnew2020.html#support-for-uuids-in-the-common-kotlin-standard-library">added</a> a common class to represent UUIDs in a multiplatform code. kotlinx.serialization 1.7.2 provides a corresponding <code>Uuid.serializer()</code> for it, making it possible to use it in <code>@serializable</code> classes.</p> <p>Note that for now, serializer should be provided manually with <a href="https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md#contextual-serialization"><code>@Contextual</code> annotation</a>. Plugin will be able to automatically insert <code>Uuid</code> serializer in Kotlin 2.1.0.</p> <p>See more details in the <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2744">corresponding PR</a>.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md">org.jetbrains.kotlinx:kotlinx-serialization-json's changelog</a>.</em></p> <blockquote> <h1>1.7.3 / 2024-09-19</h1> <p>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.</p> <p>It uses Kotlin 2.0.20 by default.</p> <ul> <li>Use explicit kotlin-stdlib and kotlin-test versions from version catalog (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2818">#2818</a>)</li> <li>Drop usage of deprecated Any?.freeze() in K/N target (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2819">#2819</a>)</li> <li>Check against serialName instead of simpleClassName (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2802">#2802</a>)</li> <li>Ignore NoClassDefFoundError when initializing builtins map for serializer() function (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2803">#2803</a>)</li> <li>Clarify example for SerializationException (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2806">#2806</a>)</li> </ul> <h1>1.7.2 / 2024-08-28</h1> <p>This release provides several new features, including a major Cbor configuration rework. It uses Kotlin 2.0.20 by default.</p> <h2>Cbor feature set for COSE compliance</h2> <p>This change brings a lot of features to the CBOR format, namely:</p> <ul> <li>Serial Labels — see <code>@CborLabel</code> annotation and <code>preferCborLabelsOverNames</code> flag.</li> <li>Tagging of keys and values — see <code>encode*Tags</code> and <code>verify*Tags</code> set of flags</li> <li>Definite length encoding — see <code>useDefiniteLengthEncoding</code>. This flag affects object encoding, since decoding of arrays with definite lenghts is automatically supported.</li> <li>Option to globally prefer major type 2 for byte array encoding — see <code>alwaysUseByteString</code> flag.</li> </ul> <p>Since there are quite a lot of flags now, they were restructured to a separate <code>CborConfiguration</code> class, similarly to <code>JsonConfiguration</code>. It is possible to retrieve this configuration from <code>CborEncoder/CborDecoder</code> interfaces in your custom serializers (see their documentation for details).</p> <p>All of these features make it possible to serialize and parse <a href="https://datatracker.ietf.org/doc/html/rfc8152">COSE-compliant CBOR</a>, 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 <code>Cbor.CoseCompliant</code> instance. However, some canonicalization steps (such as sorting keys) still need to be performed manually.</p> <p>This functionality <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2412">was contributed</a> to us by <a href="https://github.com/JesusMcCloud">Bernd Prünster</a>.</p> <h2>Keeping generated serializers</h2> <p>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.</p> <p>Starting with this release, you can specify the <code>@KeepGeneratedSerializer</code> annotation on the class declaration to instruct the plugin to continue generating the serializer. In this case, the serializer will be accessible using the <code>.generatedSerializer()</code> function on the class's companion object.</p> <blockquote> <p>This annotation is currently experimental. Kotlin 2.0.20 or higher is required for this feature to work.</p> </blockquote> <p>You can check out the examples in <a href="https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md#simultaneous-use-of-plugin-generated-and-custom-serializers">the documentation</a> and in the PRs: <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2758">#2758</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.serialization/pull/2669">#2669</a>.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/d4d066d72a9f92f06c640be5a36a22f75d0d7659"><code>d4d066d</code></a> Prepare 1.7.3 release (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2821">#2821</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/21311a61b3cb26ddbc30a3587588bacc6c2fb309"><code>21311a6</code></a> Clarify example for SerializationException (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2806">#2806</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/2f1dbdb1c4911ff506ce41d410b05ada4e6c00b7"><code>2f1dbdb</code></a> Use explicit kotlin-stdlib and kotlin-test versions from version catalog (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2818">#2818</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/595bcbdbc69a08f46072d2e7e0c09519a65aaa86"><code>595bcbd</code></a> Drop usage of deprecated Any?.freeze() in K/N target (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2819">#2819</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/d9753afd4ba011d33d39b02bb9dcf9d75a949632"><code>d9753af</code></a> Check against serialName instead of simpleClassName (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2802">#2802</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/0b015e13599a159cca198d5d5e633b90211e6f85"><code>0b015e1</code></a> Ignore NoClassDefFoundError when initializing builtins map for serializer() f...</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/8c84a5b4dd13f612f4342199acdd07599fd16b17"><code>8c84a5b</code></a> Prepare 1.7.2 release (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2798">#2798</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/b3cfe5647ae1f47b2bdaf8d7b5b0619b8587bad0"><code>b3cfe56</code></a> Merge remote-tracking branch 'origin/master' into dev</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/550e1a8ae34ccaf6ba18624c320f3d360255df34"><code>550e1a8</code></a> Rework opt-ins in build scripts (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2794">#2794</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.serialization/commit/e4fa8a3214f9b9101f7a72bda0ef7458204594c2"><code>e4fa8a3</code></a> Update Annotations.kt, fixed typo: RgpPixel -> RgbPixel (<a href="https://redirect.github.com/Kotlin/kotlinx.serialization/issues/2793">#2793</a>)</li> <li>Additional commits viewable in <a href="https://github.com/Kotlin/kotlinx.serialization/compare/v1.6.3...v1.7.3">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.jetbrains.kotlinx:kotlinx-serialization-json&package-manager=gradle&previous-version=1.6.3&new-version=1.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Loading branch information