dependabot[bot] opened a new pull request, #71605: URL: https://github.com/apache/airflow/pull/71605
Bumps the java-sdk-dependency-updates group with 15 updates in the /java-sdk directory: | Package | From | To | | --- | --- | --- | | org.apache.logging.log4j:log4j-core | `2.26.0` | `2.26.1` | | [com.gradleup.shadow:shadow-gradle-plugin](https://github.com/GradleUp/shadow) | `9.1.0` | `9.6.1` | | [com.github.spotbugs:spotbugs-annotations](https://github.com/spotbugs/spotbugs) | `4.9.8` | `4.10.3` | | [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson) | `2.21` | `2.22` | | [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.0` | `2.22.1` | | com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.0` | `2.22.1` | | [io.ktor:ktor-network](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.1` | | [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` | | [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1` | `0.8.0` | | [org.jetbrains.kotlinx:kotlinx-serialization-json](https://github.com/Kotlin/kotlinx.serialization) | `1.10.0` | `1.11.0` | | [org.msgpack:msgpack-core](https://github.com/msgpack/msgpack-java) | `0.9.11` | `0.9.12` | | org.jsonschema2pojo | `1.2.2` | `1.3.3` | | [plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.0` | `2.4.10` | | [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.3.0` | `2.4.10` | | [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `8.14.5` | Bumps the java-sdk-dependency-updates group with 3 updates in the /java-sdk/scala_spark_example directory: [org.scala-lang:scala-library](https://github.com/scala/scala), org.apache.spark:spark-sql_2.13 and [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2). Updates `org.apache.logging.log4j:log4j-core` from 2.26.0 to 2.26.1 Updates `org.apache.logging.log4j:log4j-api` from 2.26.0 to 2.26.1 Updates `com.gradleup.shadow:shadow-gradle-plugin` from 9.1.0 to 9.6.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/GradleUp/shadow/releases">com.gradleup.shadow:shadow-gradle-plugin's releases</a>.</em></p> <blockquote> <h2>9.6.1</h2> <h3>Changed</h3> <ul> <li>Use <code>GradleException</code> for expected build failures. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2113">#2113</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Preserve repeated lines in R8 rule files when using <code>minimize { r8 { ... } }</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2115">#2115</a>)</li> </ul> <h2>9.6.0</h2> <h3>Added</h3> <ul> <li>Extract R8 rules from dependency JARs when using <code>minimize { r8 { ... } }</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2089">#2089</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Rename <code>ShadowDslMarker</code> to <code>ShadowDsl</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2091">#2091</a>)</li> <li><strong>POTENTIALLY BREAKING:</strong> Apply <code>@ShadowDsl</code> to <code>ShadowJar</code>, <code>ResourceTransformer</code>, <code>DependencyFilter</code>, and <code>Relocator</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2090">#2090</a>)<br /> This restricts nested DSL configuration blocks from implicitly calling outer receiver APIs in Kotlin script files.</li> </ul> <h3>Fixed</h3> <ul> <li>Validate ZIP entry names to prevent Zip Slip path traversal.</li> <li>Avoid resolving unused R8 dependency. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2101">#2101</a>)</li> </ul> <h2>9.5.1</h2> <h3>Fixed</h3> <ul> <li>Fix eager calls for <code>toolchainSpec</code> in Kotlin DSL. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2087">#2087</a>)</li> </ul> <h2>9.5.0</h2> <h3>Added</h3> <ul> <li>Check <code>DuplicatesStrategy</code> for merging transformers. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2026">#2026</a>)<br /> This will log warnings when an incompatible <code>DuplicatesStrategy</code> (e.g., <code>EXCLUDE</code>) is applied in Gradle configuration for built-in <code>ResourceTransformer</code>s.</li> <li>Add <code>KotlinModuleMetadataTransformer</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2073">#2073</a>)</li> <li>Add R8 as an opt-in <code>minimize { r8 { ... } }</code> tool for shrinking the final shadowed JAR. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2077">#2077</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Bump min Gradle requirement to 9.2.0. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2057">#2057</a>)</li> <li>Remove <code>afterEvaluate</code> when adding variants. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2056">#2056</a>)</li> </ul> <h3>Deprecated</h3> <ul> <li>Deprecate <code>enableKotlinModuleRemapping</code> for <code>ShadowJar</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2073">#2073</a>)<br /> Apply <code>KotlinModuleMetadataTransformer</code> explicitly to support relocating inside Kotlin module metadata files. This flag will be disabled and removed in the next major release.</li> <li>Deprecate everything under <code>ShadowCopyAction</code>. (<a href="https://redirect.github.com/GradleUp/shadow/pull/2083">#2083</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/GradleUp/shadow/commit/185da5db091a35bc593d3ea101f6a2f6ddbb7aa8"><code>185da5d</code></a> Prepare version 9.6.1</li> <li><a href="https://github.com/GradleUp/shadow/commit/b309bc549f1e0020771c03c6d5c3a600bd68cb89"><code>b309bc5</code></a> Extract addIncludedDependencies (<a href="https://redirect.github.com/GradleUp/shadow/issues/2116">#2116</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/46b35448b867f3d4cff97df11be7ea9b53a7d90f"><code>46b3544</code></a> Preserve repeated lines in R8 rule files (<a href="https://redirect.github.com/GradleUp/shadow/issues/2115">#2115</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/c0d4f0d6745891ffdd5ceec1f1424450e3bbb2c3"><code>c0d4f0d</code></a> Revert "Reland Tapmoc (<a href="https://redirect.github.com/GradleUp/shadow/issues/2111">#2111</a>)"</li> <li><a href="https://github.com/GradleUp/shadow/commit/ff1809f351e567133f2a17b655127f484893c009"><code>ff1809f</code></a> Use GradleException for expected build failures (<a href="https://redirect.github.com/GradleUp/shadow/issues/2113">#2113</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/dc0ee64128cae4f287f0aa2c79e2b11e8d8017a6"><code>dc0ee64</code></a> Update plugin tapmoc to v0.4.2 (<a href="https://redirect.github.com/GradleUp/shadow/issues/2112">#2112</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/398afcde1cbe50b86fa71b678f09f79d8ca133ab"><code>398afcd</code></a> Reland Tapmoc (<a href="https://redirect.github.com/GradleUp/shadow/issues/2111">#2111</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/3ca69d5a403d5a761e6b03f1a3d60ad11ecf463a"><code>3ca69d5</code></a> Gradle 9.7.0-rc-1 (<a href="https://redirect.github.com/GradleUp/shadow/issues/2110">#2110</a>)</li> <li><a href="https://github.com/GradleUp/shadow/commit/aaaacd230d76790a49443430863878c133feeab0"><code>aaaacd2</code></a> Prepare next development version</li> <li><a href="https://github.com/GradleUp/shadow/commit/fb3666804bd6ca643dd4a2df0d607fcfaf5b1e66"><code>fb36668</code></a> Prepare version 9.6.0</li> <li>Additional commits viewable in <a href="https://github.com/GradleUp/shadow/compare/9.1.0...9.6.1">compare view</a></li> </ul> </details> <br /> Updates `com.github.spotbugs:spotbugs-annotations` from 4.9.8 to 4.10.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/spotbugs/spotbugs/releases">com.github.spotbugs:spotbugs-annotations's releases</a>.</em></p> <blockquote> <h2>4.10.3</h2> <p>SpotBugs 4.10.3</p> <h3>CHANGELOG</h3> <h3>Fixed</h3> <ul> <li>Fix <code>LI_LAZY_INIT_STATIC</code> false negative when the null guard is written in yoda-style (<code>null == field</code>) (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4144">#4144</a>)</li> <li>Fix <code>DC_DOUBLECHECK</code>, <code>NP_SYNC_AND_NULL_CHECK_FIELD</code> and <code>SP_SPIN_ON_FIELD</code> false negatives when the null guard is written in yoda-style (<code>null == field</code>) (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4144">#4144</a>)</li> <li>Fix message for <code>UNS_UNSAFE_CALL</code> bug pattern</li> <li>Restore CLI plugin loading by fixing DetectorFactoryCollection bootstrap ordering (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4191">#4191</a>)</li> <li>Fix <code>UWF_NULL_FIELD</code> false negative for fields initialized with cast null values (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4034">#4034</a>)</li> <li>Fix <code>UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS</code> false positive for methods reached only through method references (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4059">#4059</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Ant <code>FindBugsViewerTask</code>: use default look and feel by default. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4165">#4165</a>)</li> </ul> <h3>Refactor</h3> <ul> <li>Ant <code>FindBugsViewerTask</code>: extend <code>AbstractFindBugsTask</code> to reduce duplicate code. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4165">#4165</a>)</li> </ul> <h3>CHECKSUM</h3> <table> <thead> <tr> <th>file</th> <th>checksum (sha256)</th> </tr> </thead> <tbody> <tr> <td>spotbugs-4.10.3-javadoc.jar</td> <td>9670d6569864fd9a45c4aa92f6e3dc2d11e2c24b4ff0a3eabe64b293dc3f0534</td> </tr> <tr> <td>spotbugs-4.10.3-sources.jar</td> <td>e00994265d6b771db8cc79edd70500ab8af6334f636d3ac7bf169c5d7daefcbc</td> </tr> <tr> <td>spotbugs-4.10.3.tgz</td> <td>53c03a77da9746ed0c17aae6c0a9419a12ddeb8bf61dd7209a2e417550afd01d</td> </tr> <tr> <td>spotbugs-4.10.3.zip</td> <td>e814ee5bf9665412658c4d684e45eae3cf993148a71bc8bc93fb343e92288151</td> </tr> <tr> <td>spotbugs-annotations-4.10.3-javadoc.jar</td> <td>5da6c2d1fe6ef37022dda7fdf221965bb6de57a0276e1735f518840f56ccab1f</td> </tr> <tr> <td>spotbugs-annotations-4.10.3-sources.jar</td> <td>87974d23caffbc8c6e66c567747627267b5ed06573cee966d7af6d236b8d65bd</td> </tr> <tr> <td>spotbugs-annotations.jar</td> <td>3fabaf088f8cd10803cc87dba4666cf874bdcd2e07ad154ed3fe403647ce3f2a</td> </tr> <tr> <td>spotbugs-ant-4.10.3-javadoc.jar</td> <td>fab78b3c109057689dc2057a18071b1a997048bb18b45ae39835c1007b18f440</td> </tr> <tr> <td>spotbugs-ant-4.10.3-sources.jar</td> <td>af1c78c8e194c2f82ea3e0517ab38a5eb6ba608c8d0e776c9097605d6b7efca6</td> </tr> <tr> <td>spotbugs-ant.jar</td> <td>9ec240477b7c87270be7dfe3196180cd3763f04c369e5691feeb12e66110a065</td> </tr> <tr> <td>spotbugs.jar</td> <td>5b12b471979fd8d664e9772d4c7e7e11b25a55d71dbb0ef2d2dcb749959052e7</td> </tr> <tr> <td>test-harness-4.10.3-javadoc.jar</td> <td>1a495602098f524a4a62f227bc556f75236a0231d08d7bedaeae73d478067e94</td> </tr> <tr> <td>test-harness-4.10.3-sources.jar</td> <td>805d2d124b0d4ea513ee9262d4ad6027c3471d45defd80fd7d20e23425d17df7</td> </tr> <tr> <td>test-harness-4.10.3.jar</td> <td>bd10d1f11a1b93e4ca4db4d27772f611bd3407f9452dbbd2d1ba62584ddc171f</td> </tr> <tr> <td>test-harness-core-4.10.3-javadoc.jar</td> <td>cb08bb86e5c9d5b4c4459ab103b9cd0dd99527a56f6fa645ec10d07b0fe75735</td> </tr> <tr> <td>test-harness-core-4.10.3-sources.jar</td> <td>043a55d99a517c0d9cf702b0c183b4afd3f03af9eff4a86d59bb37df1b35b532</td> </tr> <tr> <td>test-harness-core-4.10.3.jar</td> <td>1f9a0ee8f150dd71f960ca4f59dcf7912a45d0e9e6aefc4585fd44b975454bc0</td> </tr> <tr> <td>test-harness-jupiter-4.10.3-javadoc.jar</td> <td>02b463d272ccc7e6f9c7dcbfe7087da23afb6f9b8ad24316362397ae21fcf4cc</td> </tr> <tr> <td>test-harness-jupiter-4.10.3-sources.jar</td> <td>17144f315686bfd01c02fa4ae7c916060c41de8eed58d5b8470416fa08f46ced</td> </tr> <tr> <td>test-harness-jupiter-4.10.3.jar</td> <td>a91146da3e993479cfefd2690781cbd102c6360ecc63a96d88995be3bd60fcbb</td> </tr> </tbody> </table> <h2>4.10.2</h2> <p>SpotBugs 4.10.2</p> <h3>CHANGELOG</h3> <h3>Build</h3> <ul> <li>Add release protection to ensure version released matches the tag and that snapshot has been removed. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4156">#4156</a>)</li> <li>Drop binary incompatible Saxon-HE back to 12.9 to keep java 11 compatibility. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4159">#4159</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/spotbugs/spotbugs/blob/master/CHANGELOG.md">com.github.spotbugs:spotbugs-annotations's changelog</a>.</em></p> <blockquote> <h2>4.10.3 - 2026-07-12</h2> <h3>Fixed</h3> <ul> <li>Fix <code>LI_LAZY_INIT_STATIC</code> false negative when the null guard is written in yoda-style (<code>null == field</code>) (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4144">#4144</a>)</li> <li>Fix <code>DC_DOUBLECHECK</code>, <code>NP_SYNC_AND_NULL_CHECK_FIELD</code> and <code>SP_SPIN_ON_FIELD</code> false negatives when the null guard is written in yoda-style (<code>null == field</code>) (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4144">#4144</a>)</li> <li>Fix message for <code>UNS_UNSAFE_CALL</code> bug pattern</li> <li>Restore CLI plugin loading by fixing DetectorFactoryCollection bootstrap ordering (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4191">#4191</a>)</li> <li>Fix <code>UWF_NULL_FIELD</code> false negative for fields initialized with cast null values (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4034">#4034</a>)</li> <li>Fix <code>UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS</code> false positive for methods reached only through method references (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4059">#4059</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Ant <code>FindBugsViewerTask</code>: use default look and feel by default. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4165">#4165</a>)</li> </ul> <h3>Refactor</h3> <ul> <li>Ant <code>FindBugsViewerTask</code>: extend <code>AbstractFindBugsTask</code> to reduce duplicate code. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4165">#4165</a>)</li> </ul> <h2>4.10.2 - 2026-06-09</h2> <h3>Build</h3> <ul> <li>Add release protection to ensure version released matches the tag and that snapshot has been removed. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4156">#4156</a>)</li> <li>Drop binary incompatible Saxon-HE back to 12.9 to keep java 11 compatibility. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4159">#4159</a>)</li> <li>Add binary check to the gradle build to ensure compatibility remains. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/4159">#4159</a>)</li> </ul> <h2>4.10.1 - 2026-06-08</h2> <h3>Build</h3> <ul> <li>4.10.0 was not released due to a release process error (artifacts were built from a -SNAPSHOT version). 4.10.1 is the corrected release and contains the intended 4.10.0 contents.</li> </ul> <h2>4.10.0 - 2026-06-07</h2> <h3>Refactor</h3> <ul> <li>Move internal usage of 'javax.annotation.Nonnull' to 'jakarta.annotation.NonNull'. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3858">#3858</a>)</li> <li>Move internal usage of 'javax.annotation.Nullable' to 'jakarta.annotation.Nullable'. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3861">#3861</a>)</li> <li>Renamed methods from <code>edu.umd.cs.findbugs.SwitchHandler</code> to reflect that they return a PC, not an offset (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3869">#3869</a>)</li> <li>Make the progress bar more visually appealing by adding some borders (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3896">#3896</a>)</li> <li>Reuse DismantleBytecode.isIf introduced in (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3869">#3869</a>)</li> </ul> <h3>Added</h3> <ul> <li>Add partial support for <code>org.jspecify.annotations.Nullable</code>, <code>org.jspecify.annotations.NonNull</code>, <code>org.jspecify.annotations.NullUnmarked</code> and <code>org.jspecify.annotations.NullMarked</code> annotations. These are aliased to the closest existing SpotBugs nullness annotations. This is not a complete implementation of the JSpecify spec; scope-level semantics of <code>@NullMarked</code> and <code>@NullUnmarked</code> are not yet supported. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3996">#3996</a>)</li> <li>Recognize <code>jakarta.annotation.Nonnull</code> and <code>jakarta.annotation.Nullable</code> (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3780">#3780</a>)</li> <li>Detect use of <code>sun.misc.Unsafe</code> and <code>jdk.internal.misc.Unsafe</code> (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3804">#3804</a>)</li> <li>New bug type is introduced: <code>NCR_NOT_PROPERLY_CHECKED_READ</code>. Improper validation of the return value from the read() method in InputStream and Reader classes may result in an array not being fully filled. (<a href="https://redirect.github.com/spotbugs/spotbugs/pull/3766">#3766</a>)</li> <li>New detector <code>FindImproperSynchronization</code> and introduced new bug types: <ul> <li><code>USO_UNSAFE_METHOD_SYNCHRONIZATION</code> is reported when using synchronized methods with the class' accessible intrinsic lock,</li> <li><code>USO_UNSAFE_STATIC_METHOD_SYNCHRONIZATION</code> is reported when using static synchronized methods with the class' exposed intrinsic lock,</li> <li><code>USO_UNSAFE_OBJECT_SYNCHRONIZATION</code> is reported when the lock used for synchronization is visible from the outside,</li> <li><code>USO_UNSAFE_ACCESSIBLE_OBJECT_SYNCHRONIZATION</code> is reported when the lock used for synchronization is made accessible, with methods that update or return the lock, to the outside,</li> <li><code>USO_UNSAFE_INHERITABLE_OBJECT_SYNCHRONIZATION</code> is reported when the lock used for synchronization is can be altered by subclasses,</li> <li><code>USO_UNSAFE_EXPOSED_OBJECT_SYNCHRONIZATION</code> is reported when the lock used for synchronization is later exposed in the subclasses.</li> <li><code>USBC_UNSAFE_SYNCHRONIZATION_WITH_BACKING_COLLECTION</code> is reported when the backing collection of a lock is visible from the outside,</li> <li><code>USBC_UNSAFE_SYNCHRONIZATION_WITH_ACCESSIBLE_BACKING_COLLECTION</code> is reported when the backing collection of a lock is made accessible, with methods that update or return the lock, to the outside,</li> <li><code>USBC_UNSAFE_SYNCHRONIZATION_WITH_INHERITABLE_BACKING_COLLECTION</code> is reported when the backing collection of a lock can be altered by subclasses. (See <a href="https://wiki.sei.cmu.edu/confluence/display/java/LCK00-J.+Use+private+final+lock+objects+to+synchronize+classes+that+may+interact+with+untrusted+code">SEI CERT rule LCK00-J</a> and <a href="https://wiki.sei.cmu.edu/confluence/display/java/LCK04-J.+Do+not+synchronize+on+a+collection+view+if+the+backing+collection+is+accessible">SEI CERT rule LCK04-J</a>)</li> </ul> </li> <li>New detector <code>FindIncreasedAccessibilityOfMethods</code> for new bug type <code>IAOM_DO_NOT_INCREASE_METHOD_ACCESSIBILITY</code>. This detector reports a bug if a class increases the accessibility of overridden or hidden methods. (See <a href="https://wiki.sei.cmu.edu/confluence/display/java/MET04-J.+Do+not+increase+the+accessibility+of+overridden+or+hidden+methods">SEI CERT rule MET04-J</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/spotbugs/spotbugs/commit/8d5cad4536ae263448c09181268bbca70f0c0712"><code>8d5cad4</code></a> release v4.10.3</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/f849bcee866a71425d078e872fc7b4417b76c136"><code>f849bce</code></a> Update junit-framework monorepo to v6.1.2 (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4199">#4199</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/368a2136ceb5bb783cceb9f05dae02d8f56118d9"><code>368a213</code></a> Fixes <a href="https://redirect.github.com/spotbugs/spotbugs/issues/4138">#4138</a> : Detect yoda-style null guards in lazy-init and related detector...</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/21ba5384a71bc900877f1354eb56d42d74b17084"><code>21ba538</code></a> Update actions/stale digest to 1e223db (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4197">#4197</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/6c91a0d461567536bc80ffbfe2a821c9fc58ab74"><code>6c91a0d</code></a> Update dependency net.sf.saxon:Saxon-HE to v12.10 (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4198">#4198</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/7fb263e4a370f636ff4feaa8889db3a5474504d3"><code>7fb263e</code></a> Update actions/setup-java digest to 0f481fc (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4196">#4196</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/c8f9bb1ec8e1f8a0d27f343966c24fe7a0f24d2c"><code>c8f9bb1</code></a> fix(deprecations): Replace deprecated io close with try with resources (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4194">#4194</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/1c78756d08b189ae9e7ed5421e9f558fa8ca5d66"><code>1c78756</code></a> chore{build): Update eclipse-convention.gradle.kts file (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4193">#4193</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/1aec284dfcd31327886d4f6a669d99b0d5e71cee"><code>1aec284</code></a> fix: improve EQ_DOESNT_OVERRIDE_EQUALS warning to mention symmetry risk (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4016">#4016</a>)</li> <li><a href="https://github.com/spotbugs/spotbugs/commit/f3ddc36bbd811ecf7cefc11bd02152b9fe743bc8"><code>f3ddc36</code></a> Fixes <a href="https://redirect.github.com/spotbugs/spotbugs/issues/4055">#4055</a> : Record method-reference targets as called methods (<a href="https://redirect.github.com/spotbugs/spotbugs/issues/4059">#4059</a>)</li> <li>Additional commits viewable in <a href="https://github.com/spotbugs/spotbugs/compare/4.9.8...4.10.3">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.core:jackson-annotations` from 2.21 to 2.22 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.core:jackson-core` from 2.21.1 to 2.22.1 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/FasterXML/jackson-core/commit/2451603e1931dac6f28ebdbcf308eb24b0f84b26"><code>2451603</code></a> [maven-release-plugin] prepare release jackson-core-2.22.1</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/d3180c0827e45e39c0ca38dc6d650f19aff572ef"><code>d3180c0</code></a> Prep for 2.22.1 release</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/6c5bae8184485c9def18ef98951840830bcdca60"><code>6c5bae8</code></a> Merge branch '2.21' into 2.22</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/fda71aa915d4637c2e8377725eeee9039b740500"><code>fda71aa</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/4ad623584c272a8b7de89ea6fd2bb40af1911b4a"><code>4ad6235</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/b5f62dd8cf4b6897bb18a43565495355e45b4e65"><code>b5f62dd</code></a> [maven-release-plugin] prepare release jackson-core-2.21.5</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/11f8b8c2730c48c8da188372af98b1b7a8219172"><code>11f8b8c</code></a> Prep for 2.21.5 release</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/492000443fcfc30bd97ae6a46d924120f39ce21c"><code>4920004</code></a> Post-release version bump</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/2bb55e8634c7fa1c197f995cdd4566ae7b7f4e0f"><code>2bb55e8</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5"><code>d763562</code></a> [maven-release-plugin] prepare release jackson-core-2.22.0</li> <li>Additional commits viewable in <a href="https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.1...jackson-core-2.22.1">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.core:jackson-databind` from 2.21.0 to 2.22.0 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/FasterXML/jackson/commits">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.0 to 2.22.1 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/681f699ec98fec4202245384e46fb781ee92e747"><code>681f699</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.22.1</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/8e2585234fecca6599e75b060f913495d12b418b"><code>8e25852</code></a> Prep for 2.22.1 release</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/e1ed4d2cb6cebf7e657ee5b91732a20c60baf932"><code>e1ed4d2</code></a> Merge branch '2.21' into 2.22</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/3f3257ce1b8f367ec024adff3145819f9f168c21"><code>3f3257c</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/3348a1aac8d06a14d787ce69022241581f2bf409"><code>3348a1a</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/687ad4f318cd633eb0000f888bbb936c328dddde"><code>687ad4f</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.21.5</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/955c59fae23292e389a13715fde664f7d3484eb9"><code>955c59f</code></a> Prep for 2.21.5 release</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/588933e4c87ea2ef7669d4659c770fbff04fc108"><code>588933e</code></a> Post-release dep version bump</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/38f3683f4c7793dad8111cf823c17243541a74df"><code>38f3683</code></a> [maven-release-plugin] prepare for next development iteration</li> <li><a href="https://github.com/FasterXML/jackson-dataformats-text/commit/23d487c5e2740c74668b67d9a0a98992248ce91f"><code>23d487c</code></a> [maven-release-plugin] prepare release jackson-dataformats-text-2.22.0</li> <li>Additional commits viewable in <a href="https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.0...jackson-dataformats-text-2.22.1">compare view</a></li> </ul> </details> <br /> Updates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.0 to 2.22.1 Updates `io.ktor:ktor-network` from 3.3.3 to 3.5.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-network's releases</a>.</em></p> <blockquote> <h2>3.5.1</h2> <blockquote> <p>Published 25 June 2026</p> </blockquote> <h3>Improvements</h3> <ul> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9492">KTOR-9492</a> OpenAPI plugin: handle requireXxx functions in compiler plugin</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9569">KTOR-9569</a> Add more details for KDoc of BearerAuthConfig.sendWithoutRequest</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9571">KTOR-9571</a> Add KDoc for BearerAuthConfig.realm</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9570">KTOR-9570</a> Add Kdoc for BearerAuthConfig.refreshTokens</li> </ul> <h3>Bugfixes</h3> <ul> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9646">KTOR-9646</a> Fix Kotlin 2.4.0 compiler plugin breaking changes</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9585">KTOR-9585</a> OpenAPI: JsonSchema title is truncated when it contains a dot</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9591">KTOR-9591</a> OpenAPI: <code>@JsonClassDiscriminator</code> on sealed types is ignored when generating OpenAPI discriminator schema</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9597">KTOR-9597</a> OpenAPI: Schema name collisions because<code>@SerialName</code> of sealed subtypes is used as <code>components.schemas</code> key</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9601">KTOR-9601</a> OpenAPI: nullable <a href="https://github.com/JvmInline"><code>@JvmInline</code></a> value class loses nullability in generated schema</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9620">KTOR-9620</a> Some issues related to digest authentication in 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9623">KTOR-9623</a> Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9624">KTOR-9624</a> Digest Auth: "Unsupported charset in digest authentication header" for a charset name in lowercase</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9630">KTOR-9630</a> Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9565">KTOR-9565</a> WebRTC: Peer stops receiving messages after a while on iOS</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9610">KTOR-9610</a> WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9633">KTOR-9633</a> WebRTC statistics fetching race condition</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9603">KTOR-9603</a> Structured concurrency is violated in WebRTC tests</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9671">KTOR-9671</a> Darwin: Semicolons in URL path are sanitized</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9639">KTOR-9639</a> Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9575">KTOR-9575</a> Darwin: findCharset("UTF-16") maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9661">KTOR-9661</a> HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9673">KTOR-9673</a> Caching always missing with Content Negotiation</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9596">KTOR-9596</a> HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9632">KTOR-9632</a> HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9252">KTOR-9252</a> ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9670">KTOR-9670</a> Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9614">KTOR-9614</a> Zstd Compression: "Destination buffer is too small" exception for a particular sequence of bytes</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9636">KTOR-9636</a> CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9659">KTOR-9659</a> CORS is skipped when the Origin header contains an IPv6 address</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9574">KTOR-9574</a> ContentNegotiation: The charset of <code>Accept-Charset</code> header is used for response deserialization</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9606">KTOR-9606</a> KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9617">KTOR-9617</a> OutputStreamContent and WriterContent can exhaust Dispatchers.IO</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9629">KTOR-9629</a> RawSourceChannel: coroutine cancellation is not propagated to the RawSource</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8870">KTOR-8870</a> File.readChannel: do not close a non-opened file and ignore closing exceptions</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9460">KTOR-9460</a> Curl: Can't build shared library with Ktor 3.4.2</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9607">KTOR-9607</a> Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9595">KTOR-9595</a> CIO: The engine imports <code>node:net</code> statically and breaks wasmJsBrowser webpack build</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9615">KTOR-9615</a> Apache5: The underlying request is not aborted when coroutine Job is cancelled</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8443">KTOR-8443</a> RoutingBuilder.contentType does not use parameters when matching</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9425">KTOR-9425</a> SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9621">KTOR-9621</a> RateLimit plugin is bypassed when the nested authenticate block rejects the request</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8766">KTOR-8766</a> DI: The close method is called twice on cleanup of AutoCloseable</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8695">KTOR-8695</a> GMTDate() being offset by 369 years on Windows</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9589">KTOR-9589</a> Duplicate PROPERTY_SETTER target in <code>@InternalAPI</code> annotation</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-network's changelog</a>.</em></p> <blockquote> <h1>3.5.1</h1> <blockquote> <p>Published 25 June 2026</p> </blockquote> <h3>Improvements</h3> <ul> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9492">KTOR-9492</a> OpenAPI plugin: handle requireXxx functions in compiler plugin</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9569">KTOR-9569</a> Add more details for KDoc of BearerAuthConfig.sendWithoutRequest</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9571">KTOR-9571</a> Add KDoc for BearerAuthConfig.realm</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9570">KTOR-9570</a> Add Kdoc for BearerAuthConfig.refreshTokens</li> </ul> <h3>Bugfixes</h3> <ul> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9646">KTOR-9646</a> Fix Kotlin 2.4.0 compiler plugin breaking changes</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9585">KTOR-9585</a> OpenAPI: JsonSchema title is truncated when it contains a dot</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9591">KTOR-9591</a> OpenAPI: <code>@JsonClassDiscriminator</code> on sealed types is ignored when generating OpenAPI discriminator schema</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9597">KTOR-9597</a> OpenAPI: Schema name collisions because<code>@SerialName</code> of sealed subtypes is used as <code>components.schemas</code> key</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9601">KTOR-9601</a> OpenAPI: nullable <a href="https://github.com/JvmInline"><code>@JvmInline</code></a> value class loses nullability in generated schema</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9620">KTOR-9620</a> Some issues related to digest authentication in 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9623">KTOR-9623</a> Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9624">KTOR-9624</a> Digest Auth: "Unsupported charset in digest authentication header" for a charset name in lowercase</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9630">KTOR-9630</a> Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9565">KTOR-9565</a> WebRTC: Peer stops receiving messages after a while on iOS</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9610">KTOR-9610</a> WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9633">KTOR-9633</a> WebRTC statistics fetching race condition</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9603">KTOR-9603</a> Structured concurrency is violated in WebRTC tests</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9671">KTOR-9671</a> Darwin: Semicolons in URL path are sanitized</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9639">KTOR-9639</a> Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9575">KTOR-9575</a> Darwin: findCharset("UTF-16") maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9661">KTOR-9661</a> HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9673">KTOR-9673</a> Caching always missing with Content Negotiation</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9596">KTOR-9596</a> HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9632">KTOR-9632</a> HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9252">KTOR-9252</a> ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9670">KTOR-9670</a> Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9614">KTOR-9614</a> Zstd Compression: "Destination buffer is too small" exception for a particular sequence of bytes</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9636">KTOR-9636</a> CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9659">KTOR-9659</a> CORS is skipped when the Origin header contains an IPv6 address</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9574">KTOR-9574</a> ContentNegotiation: The charset of <code>Accept-Charset</code> header is used for response deserialization</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9606">KTOR-9606</a> KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9617">KTOR-9617</a> OutputStreamContent and WriterContent can exhaust Dispatchers.IO</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9629">KTOR-9629</a> RawSourceChannel: coroutine cancellation is not propagated to the RawSource</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8870">KTOR-8870</a> File.readChannel: do not close a non-opened file and ignore closing exceptions</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9460">KTOR-9460</a> Curl: Can't build shared library with Ktor 3.4.2</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9607">KTOR-9607</a> Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9595">KTOR-9595</a> CIO: The engine imports <code>node:net</code> statically and breaks wasmJsBrowser webpack build</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9615">KTOR-9615</a> Apache5: The underlying request is not aborted when coroutine Job is cancelled</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8443">KTOR-8443</a> RoutingBuilder.contentType does not use parameters when matching</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9425">KTOR-9425</a> SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9621">KTOR-9621</a> RateLimit plugin is bypassed when the nested authenticate block rejects the request</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8766">KTOR-8766</a> DI: The close method is called twice on cleanup of AutoCloseable</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-8695">KTOR-8695</a> GMTDate() being offset by 369 years on Windows</li> <li><a href="https://youtrack.jetbrains.com/issue/KTOR-9589">KTOR-9589</a> Duplicate PROPERTY_SETTER target in <a href="https://github.com/InternalAPI"><code>@InternalAPI</code></a> annotation</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64"><code>5ba9d6f</code></a> Release 3.5.1 (<a href="https://redirect.github.com/ktorio/ktor/issues/5719">#5719</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715"><code>a4f145d</code></a> KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (<a href="https://redirect.github.com/ktorio/ktor/issues/5701">#5701</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994"><code>2caf278</code></a> Fix failing :ktor-io:compileDarwinMainKotlinMetadata (<a href="https://redirect.github.com/ktorio/ktor/issues/5716">#5716</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362"><code>257de90</code></a> KTOR-8766 Fix multiple invocations of close from DI</li> <li><a href="https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a"><code>e77a168</code></a> Fix cache misses with content negotiation 3x (<a href="https://redirect.github.com/ktorio/ktor/issues/5714">#5714</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79"><code>ed22950</code></a> Make huge post test less huge</li> <li><a href="https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6"><code>f329069</code></a> Update dependency com.github.luben:zstd-jni to v1.5.7-11</li> <li><a href="https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58"><code>6ecd072</code></a> Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44</li> <li><a href="https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751"><code>a0534cd</code></a> Update dependency io.pebbletemplates:pebble to v4.1.2</li> <li><a href="https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0"><code>8647e53</code></a> Update dependency com.typesafe:config to v1.4.9</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.3.3...3.5.1">compare view</a></li> </ul> </details> <br /> Updates `org.jetbrains.kotlinx:kotlinx-coroutines-core` from 1.10.2 to 1.11.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.coroutines/releases">org.jetbrains.kotlinx:kotlinx-coroutines-core's releases</a>.</em></p> <blockquote> <h2>1.11.0</h2> <h3>Various</h3> <ul> <li>Kotlin was updated to 2.2.20 (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545">#4545</a>).</li> <li>Improved the published jar files (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842">#3842</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599">#4599</a>).</li> <li>Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433">#4433</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596">#4596</a>).</li> </ul> <h3>Breaking changes and deprecations</h3> <ul> <li>Moved <code>Promise</code>-related functions from JS and Wasm/JS to the new <code>web</code> target. On Wasm/JS, this is a breaking change. Before the change, <code>Promise</code> on Wasm/JS could work with arbitrary Kotlin types, but now, only <code>JsAny</code> subtypes are accepted (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563">#4563</a>).</li> <li>Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B efore, exceptions were logged, but now, they are reported to the JS runtime (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451">#4451</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631">#4631</a>).</li> <li>Deprecated using <code>CoroutineDispatcher</code> as the coroutine context key; now, <code>ContinuationInterceptor</code> has to be used instead (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333">#4333</a>).</li> <li>Advanced the deprecation levels on <code>kotlinx-coroutines-test</code> APIs (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604">#4604</a>).</li> <li>Added lint functions that mark passing a <code>Job</code> to coroutine builders as deprecated (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435">#4435</a>).</li> </ul> <h3>Bug fixes and improvements</h3> <ul> <li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to <code>runBlocking</code> in code shared between JVM and Native (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368">#4368</a>).</li> <li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to <code>suspendCancellableCoroutine</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574">#4574</a>).</li> <li>Fixed <code>flowOn</code> incorrectly handling <code>ThreadContextElement</code> updates (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403">#4403</a>).</li> <li>Fixed exceptions in user-supplied <code>Thread.UncaughtExceptionHandler</code> instances causing the internal coroutines machinery to fail (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516">#4516</a>).</li> <li>Fixed <code>CoroutineDispatcher.asScheduler</code> in the RxJava integration not cancelling outstanding work when a <code>Worker</code> gets cancelled, which led to memory leaks in some scenarios (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615">#4615</a>).</li> <li>Fixed <code>SharedFlow</code> entering an invalid state when a subscriber and an emitter are cancelled simultaneously (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583">#4583</a>).</li> <li>Fixed an R8 optimization leading to <code>shareIn</code>/<code>stateIn</code> coroutines getting garbage-collected (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646">#4646</a>). Thanks, <a href="https://github.com/solevic"><code>@solevic</code></a>!</li> </ul> <h3>Small additions</h3> <ul> <li>Added <code>CompletableDeferred.asDeferred</code> for obtaining a read-only <code>Deferred</code> view (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408">#4408</a>).</li> <li>Added <code>SharedFlow.asFlow</code> for obtaining a <code>Flow</code> view with hidden hot flow semantics (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530">#4530</a>). Thanks, <a href="https://github.com/g000sha256"><code>@g000sha256</code></a>!</li> <li>Added a <code>StateFlow.collectLatest</code> overload returning <code>Nothing</code> to assist with finding unreachable code (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454">#4454</a>).</li> <li>Added <code>ReceiveChannel.consumeTo</code> for consuming a <code>ReceiveChannel</code> into a <code>MutableCollection</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520">#4520</a>).</li> <li>Added a <code>StateFlow<T>.onSubscription</code> overload returning a <code>StateFlow<T></code>, similar to <code>SharedFlow<T>.onSubscription</code> returning <code>SharedFlow<T></code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275">#4275</a>). Thanks, <a href="https://github.com/xit0c"><code>@xit0c</code></a>!</li> <li>Added terminal <code>Flow</code> operators for collecting a <code>Flow</code> to a <code>Map</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541">#1541</a>).</li> </ul> <h3>Changelog relative to version 1.11.0</h3> <p>No changes, only the version is increased.</p> <h2>1.11.0-rc02</h2> <p>Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of <code>Promise</code>-related functions (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661">#4661</a>).</p> <h2>1.11.0-rc01</h2> <h3>Various</h3> <ul> <li>Kotlin was updated to 2.2.20 (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545">#4545</a>).</li> <li>Improved the published jar files (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842">#3842</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599">#4599</a>).</li> <li>Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433">#4433</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596">#4596</a>).</li> </ul> <h3>Breaking changes and deprecations</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md">org.jetbrains.kotlinx:kotlinx-coroutines-core's changelog</a>.</em></p> <blockquote> <h2>Version 1.11.0</h2> <h3>Various</h3> <ul> <li>Kotlin was updated to 2.2.20 (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545">#4545</a>).</li> <li>Improved the published jar files (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842">#3842</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599">#4599</a>).</li> <li>Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433">#4433</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596">#4596</a>).</li> </ul> <h3>Breaking changes and deprecations</h3> <ul> <li>Moved <code>Promise</code>-related functions from JS and Wasm/JS to the new <code>web</code> target. On Wasm/JS, this is a breaking change. Before the change, <code>Promise</code> on Wasm/JS could work with arbitrary Kotlin types, but now, only <code>JsAny</code> subtypes are accepted (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563">#4563</a>).</li> <li>Changed handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. Before, exceptions were logged, but now, they are reported to the JS runtime (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451">#4451</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631">#4631</a>).</li> <li>Deprecated using <code>CoroutineDispatcher</code> as the coroutine context key; now, <code>ContinuationInterceptor</code> has to be used instead (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333">#4333</a>).</li> <li>Advanced the deprecation levels on <code>kotlinx-coroutines-test</code> APIs (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604">#4604</a>).</li> <li>Added lint functions that mark passing a <code>Job</code> to coroutine builders as deprecated (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435">#4435</a>).</li> </ul> <h3>Bug fixes and improvements</h3> <ul> <li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to <code>runBlocking</code> in code shared between JVM and Native (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368">#4368</a>).</li> <li>Added a <code>callsInPlace(EXACTLY_ONCE)</code> contract to <code>suspendCancellableCoroutine</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574">#4574</a>).</li> <li>Fixed <code>flowOn</code> incorrectly handling <code>ThreadContextElement</code> updates (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403">#4403</a>).</li> <li>Fixed exceptions in user-supplied <code>Thread.UncaughtExceptionHandler</code> instances causing the internal coroutines machinery to fail (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516">#4516</a>).</li> <li>Fixed <code>CoroutineDispatcher.asScheduler</code> in the RxJava integration not cancelling outstanding work when a <code>Worker</code> gets cancelled, which led to memory leaks in some scenarios (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615">#4615</a>).</li> <li>Fixed <code>SharedFlow</code> entering an invalid state when a subscriber and an emitter are cancelled simultaneously (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583">#4583</a>).</li> <li>Fixed an R8 optimization leading to <code>shareIn</code>/<code>stateIn</code> coroutines getting garbage-collected (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646">#4646</a>). Thanks, <a href="https://github.com/solevic"><code>@solevic</code></a>!</li> </ul> <h3>Small additions</h3> <ul> <li>Added <code>CompletableDeferred.asDeferred</code> for obtaining a read-only <code>Deferred</code> view (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408">#4408</a>).</li> <li>Added <code>SharedFlow.asFlow</code> for obtaining a <code>Flow</code> view with hidden hot flow semantics (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530">#4530</a>). Thanks, <a href="https://github.com/g000sha256"><code>@g000sha256</code></a>!</li> <li>Added a <code>StateFlow.collectLatest</code> overload returning <code>Nothing</code> to assist with finding unreachable code (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454">#4454</a>).</li> <li>Added <code>ReceiveChannel.consumeTo</code> for consuming a <code>ReceiveChannel</code> into a <code>MutableCollection</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520">#4520</a>).</li> <li>Added a <code>StateFlow<T>.onSubscription</code> overload returning a <code>StateFlow<T></code>, similar to <code>SharedFlow<T>.onSubscription</code> returning <code>SharedFlow<T></code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275">#4275</a>). Thanks, <a href="https://github.com/xit0c"><code>@xit0c</code></a>!</li> <li>Added terminal <code>Flow</code> operators for collecting a <code>Flow</code> to a <code>Map</code> (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541">#1541</a>).</li> </ul> <h3>Changelog relative to version 1.11.0</h3> <p>No changes, only the version is increased.</p> <h2>Version 1.11.0-rc02</h2> <p>Restored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of <code>Promise</code>-related functions (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661">#4661</a>).</p> <h2>Version 1.11.0-rc01</h2> <h3>Various</h3> <ul> <li>Kotlin was updated to 2.2.20 (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545">#4545</a>).</li> <li>Improved the published jar files (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842">#3842</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599">#4599</a>).</li> <li>Various documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433">#4433</a>, <a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596">#4596</a>).</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874"><code>8564f65</code></a> Version 1.11.0</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c"><code>a4c6af9</code></a> Merge remote-tracking branch 'origin/master' into develop</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9"><code>ef917b4</code></a> KT-84955: mark apple x64 tagets as deprecated error (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645">#4645</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd"><code>5ebc421</code></a> Update the release procedure description (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670">#4670</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80"><code>95f46a0</code></a> Remove old maven repository settings (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672">#4672</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc"><code>b4f4f0a</code></a> Fix package name of <code>ToMapCollectionSamplesTest</code>. (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674">#4674</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631"><code>86738dc</code></a> Added templates to the issue creation wizard (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654">#4654</a>)</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378"><code>330fcc2</code></a> Version 1.11.0-rc02</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582"><code>e31cef6</code></a> Merge remote-tracking branch 'origin/master' into develop</li> <li><a href="https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37"><code>dc6e9f6</code></a> Restore Promise-related functions on Wasm/JS as HIDDEN (<a href="https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661">#4661</a>)</li> <li>Additional commits viewable in <a href="https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0">compare view</a></li> </ul> </details> <br /> Updates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.7.1 to 0.8.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx-datetime/releases">org.jetbrains.kotlinx:kotlinx-datetime's releases</a>.</em></p> <blockquote> <h2>v0.8.0</h2> <p>Breaking changes:</p> <ul> <li>Deprecate <code>TimeZone</code> serialization (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576">#576</a>).</li> </ul> <p>Additions:</p> <ul> <li>Add <code>orNull</code> functions for non-throwing construction of datetime entities (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68">#68</a>).</li> <li>Add <code>parseOrNull</code> extension functions for non-throwing attempts at parsing (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508">#508</a>).</li> <li>Introduce <code>LocalIsoWeekDate</code> for representing <a href="https://en.wikipedia.org/wiki/ISO_week_date">ISO week dates</a> (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603">#603</a>).</li> <li>Introduce functions for finding the next or previous date with the given day-of-week (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129">#129</a>).</li> </ul> <p>Tweaks and fixes:</p> <ul> <li>Fix bugs in <code>Instant.until</code> and <code>Instant.periodUntil</code> (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534">#534</a>).</li> <li>Always output seconds in the <code>DateTimeComponents.Formats.RFC_1123</code> format (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608">#608</a>).</li> <li>On Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575">#575</a>).</li> </ul> <h3>Changelog relative to version 0.8.0-rc02</h3> <p>No changes, only the version is increased.</p> <h2>v0.8.0-rc02</h2> <p>Equivalent to <code>rc01</code>, but published without <code>Instant</code> and <code>Clock</code>. A separate compatibility artifact contains them for binary compatibility. Please see <a href="https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant">https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant</a> for details.</p> <h2>v0.8.0-rc01</h2> <p>Breaking changes:</p> <ul> <li>Deprecate <code>TimeZone</code> serialization (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576">#576</a>).</li> </ul> <p>Additions:</p> <ul> <li>Add <code>orNull</code> functions for non-throwing construction of datetime entities (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68">#68</a>).</li> <li>Add <code>parseOrNull</code> extension functions for non-throwing attempts at parsing (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508">#508</a>).</li> <li>Introduce <code>LocalIsoWeekDate</code> for representing <a href="https://en.wikipedia.org/wiki/ISO_week_date">ISO week dates</a> (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603">#603</a>).</li> <li>Introduce functions for finding the next or previous date with the given day-of-week (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129">#129</a>).</li> </ul> <p>Tweaks and fixes:</p> <ul> <li>Fix bugs in <code>Instant.until</code> and <code>Instant.periodUntil</code> (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534">#534</a>).</li> <li>Always output seconds in the <code>DateTimeComponents.Formats.RFC_1123</code> format (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608">#608</a>).</li> <li>On Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575">#575</a>).</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md">org.jetbrains.kotlinx:kotlinx-datetime's changelog</a>.</em></p> <blockquote> <h2>0.8.0</h2> <p>Breaking changes:</p> <ul> <li>Deprecate <code>TimeZone</code> serialization (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576">#576</a>).</li> </ul> <p>Additions:</p> <ul> <li>Add <code>orNull</code> functions for non-throwing construction of datetime entities (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68">#68</a>).</li> <li>Add <code>parseOrNull</code> extension functions for non-throwing attempts at parsing (<a href="https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508">#508</a>).</li> <li>Introduce <code>LocalIsoWeekDate</code> for representing <a href="https://en.wikipedia.org/wiki/ISO_w... _Description has been truncated_ -- 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]
