Skip to content

Commit

Permalink
Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.6.3 to 1…
Browse files Browse the repository at this point in the history
….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 -&gt; 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
dependabot[bot] authored Oct 10, 2024
1 parent 067a578 commit 3ecd473
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion android/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ lifecycleRuntimeKtx = "2.8.2"
activityCompose = "1.9.2"
retrofit = "2.11.0"
okhttp = "4.12.0"
kotlinx-serialization-json = "1.6.3"
kotlinx-serialization-json = "1.7.3"
viewmodel = "2.8.2"
navigation = "2.8.0-beta06"
browser = "1.5.0"
Expand Down

0 comments on commit 3ecd473

Please sign in to comment.