dependabot[bot] opened a new pull request, #9231: URL: https://github.com/apache/storm/pull/9231
Bumps [com.esotericsoftware:kryo](https://github.com/EsotericSoftware/kryo) from 5.6.2 to 5.7.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/EsotericSoftware/kryo/releases">com.esotericsoftware:kryo's releases</a>.</em></p> <blockquote> <h2>kryo-5.7.1</h2> <p>This is a maintenance release that fixes the serializers for unmodifiable and synchronized collections introduced in 5.7.0.</p> <h3>Highlights</h3> <h4>Registration in a fixed order (<a href="https://redirect.github.com/EsotericSoftware/kryo/issues/1351">#1351</a>)</h4> <p><code>registerSerializers</code> registered the wrapper classes in <code>HashMap</code> order, so their registration IDs depended on the JVM: eg the unmodifiable list had ID 11 on JDK 17 and 13 on JDK 21. Data written on one JVM could be read as a different wrapper type on another. The new <code>register(Kryo)</code> registers the classes, including the navigable wrappers, in a fixed order:</p> <pre lang="java"><code>UnmodifiableCollectionSerializers.register(kryo); SynchronizedCollectionSerializers.register(kryo); </code></pre> <p><code>registerSerializers</code> is deprecated and keeps its IDs, so existing data stays readable. See the upgrade notes below before switching.</p> <h4>Navigable and sequenced wrappers (<a href="https://redirect.github.com/EsotericSoftware/kryo/issues/1351">#1351</a>)</h4> <p><code>addDefaultSerializers</code> of <code>UnmodifiableCollectionSerializers</code> and <code>SynchronizedCollectionSerializers</code> didn't cover the navigable wrappers (eg <code>Collections.unmodifiableNavigableSet</code>) and the Java 21+ unmodifiable sequenced wrappers (eg <code>Collections.unmodifiableSequencedCollection</code>). These were silently read back as a different wrapper type, eg an <code>UnmodifiableNavigableSet</code> as an <code>UnmodifiableSortedSet</code>. They are now serialized correctly. The serialized bytes are unchanged, so 5.7.0 and 5.7.1 can read each other's data.</p> <h3>All changes</h3> <ul> <li><a href="https://redirect.github.com/EsotericSoftware/kryo/issues/1351">#1351</a> Add serializers for navigable and sequenced wrapper collections and register them in a fixed order</li> </ul> <p>The full list of changes can be found <a href="https://github.com/EsotericSoftware/kryo/compare/kryo-parent-5.7.0...kryo-parent-5.7.1">here</a>.</p> <p>Many thanks to all contributors!</p> <h2>Upgrade Notes</h2> <p>For migration from previous major versions please check out the <a href="https://github.com/EsotericSoftware/kryo/wiki/Migration-to-v5">migration guide</a>. We're asking the community to help and contribute this part: please edit the migration wiki page as you encounter any information or issues that might help others.</p> <h3>Behavioral changes</h3> <ul> <li>If you use <code>registerSerializers</code>, switch to <code>register(Kryo)</code>. It registers the 9 wrapper classes of each type in a different order, so their registration IDs change once: data written with <code>registerSerializers</code> can't be read after switching to <code>register</code>. Switch when you don't need to read previously written data that contains these wrappers, or keep <code>registerSerializers</code> until then.</li> <li><code>register(Kryo)</code> throws an exception if the JDK internals can't be accessed, while the deprecated <code>registerSerializers</code> logged a warning and skipped the registration. <code>addDefaultSerializers</code> still logs a warning.</li> <li><code>register(Kryo)</code> doesn't register the Java 21+ sequenced wrappers, so that the same classes are registered on all Java versions. After <code>addDefaultSerializers</code>, they can be registered with <code>kryo.register(Class)</code>.</li> </ul> <h3>Compatibility</h3> <ul> <li>Serialization compatible <ul> <li>Standard IO: Yes</li> <li>Unsafe-based IO: Yes</li> </ul> </li> <li>Binary compatible - Yes (<a href="https://rawgithub.com/EsotericSoftware/kryo/master/compat_reports/kryo/5.7.0_to_5.7.1/compat_report.html">Details</a>)</li> <li>Source compatible - Yes (<a href="https://rawgithub.com/EsotericSoftware/kryo/master/compat_reports/kryo/5.7.0_to_5.7.1/compat_report.html#Source">Details</a>)</li> </ul> <h2>kryo-5.7.0</h2> <p>This is a feature release that hardens deserialization against corrupt or malicious input, adds long-requested serializers for unmodifiable and synchronized JDK collections, and fixes several bugs. It also improves compatibility with recent JDKs up to Java 26.</p> <h3>Highlights</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/EsotericSoftware/kryo/commit/b9089cbacf4f14be9e1c0967e857ee9545b1e557"><code>b9089cb</code></a> [maven-release-plugin] prepare release kryo-parent-5.7.1</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/6f0803cf9a565ce86169487c83d78f7fff341613"><code>6f0803c</code></a> Add serializers for navigable and sequenced wrapper collections and register ...</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/d6dfef1c865932ca55ccd550bc2c68b6ec959d8f"><code>d6dfef1</code></a> Update README for 5.7.0</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/fda2ee54aeecdf38c9e2564e99190f7a42cb28c1"><code>fda2ee5</code></a> Add compat report for 5.7.0</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/40971e7f7248c86ca673ea5dfdd81845616a3ee0"><code>40971e7</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/ae331b6fe204ea68913aa8197c919ae7a7b299c5"><code>ae331b6</code></a> [maven-release-plugin] prepare release kryo-parent-5.7.0</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/47a300dfab0776750be8505b38bfa87ff0f7561e"><code>47a300d</code></a> Make unmodifiable and synchronized collection serializer classes final</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/c7976d64beb03b3d5bc62d36fec7c144f6c0895a"><code>c7976d6</code></a> Compile main sources for Java 8 regardless of JDK</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/96b9b622e5213db05361c7ae260390bc0d730ed4"><code>96b9b62</code></a> Fix duplicate tag error message in TaggedFieldSerializer</li> <li><a href="https://github.com/EsotericSoftware/kryo/commit/39294ec12e837e478e3bc67c9b9245401801bdc4"><code>39294ec</code></a> Document that maxDepth also limits deserialization work</li> <li>Additional commits viewable in <a href="https://github.com/EsotericSoftware/kryo/compare/kryo-parent-5.6.2...kryo-parent-5.7.1">compare view</a></li> </ul> </details> <br /> [](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 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> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
