{"id":346,"name":"org.gradle.toolchains.foojay-resolver-convention","ecosystem":"maven","repository_url":null,"issues_count":2917,"created_at":"2025-06-06T15:01:33.938Z","updated_at":"2025-06-06T15:01:33.938Z","purl":"pkg:maven/org.gradle.toolchains.foojay-resolver-convention","unique_repositories_count":1460,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4714011654","node_id":"PR_kwDOSV8vQc7pCDkY","number":85,"state":"closed","title":"build: bump the gradle-inventory-service-all group in /services/inventory-service with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-22T06:53:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T06:20:23.000Z","updated_at":"2026-06-22T06:53:59.000Z","time_to_close":2007,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle-inventory-service-all","update_count":9,"packages":[{"name":"org.redisson:redisson-spring-boot-starter","old_version":"3.31.0","new_version":"4.6.1"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.9","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"jvm","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.spring","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.jpa","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.springframework.boot","old_version":"3.5.14","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.1","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":"/services/inventory-service","ecosystem":"maven"},"body":"Bumps the gradle-inventory-service-all group in /services/inventory-service with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.redisson:redisson-spring-boot-starter | `3.31.0` | `4.6.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.9` | `3.0.3` |\n| [jvm](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [plugin.spring](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [plugin.jpa](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.14` | `4.1.0` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.1` | `0.9.8` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.8.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.6.0` |\n\nUpdates `org.redisson:redisson-spring-boot-starter` from 3.31.0 to 4.6.1\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.9 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.9...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jvm` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.spring` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.jpa` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.jpa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.jpa's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 3.5.14 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.14...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx.kover` from 0.9.1 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-kover/releases\"\u003eorg.jetbrains.kotlinx.kover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.8\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/799\"\u003e\u003ccode\u003e[#799](https://github.com/Kotlin/kotlinx-kover/issues/799)\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/772\"\u003e\u003ccode\u003e[#772](https://github.com/Kotlin/kotlinx-kover/issues/772)\u003c/code\u003e\u003c/a\u003e Fixed Android multiplatform library support in case of the violation of the project isolation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated publish plugin and declare configuration cache compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/782\"\u003e\u003ccode\u003e[#782](https://github.com/Kotlin/kotlinx-kover/issues/782)\u003c/code\u003e\u003c/a\u003e Filled Implementation fields Vendor/Title/Version in MANIFEST.MF\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.7\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/747\"\u003e\u003ccode\u003e[#747](https://github.com/Kotlin/kotlinx-kover/issues/747)\u003c/code\u003e\u003c/a\u003e Fixed a recurring issue in support of Android KMP libraries\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.6\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/792\"\u003e\u003ccode\u003e[#792](https://github.com/Kotlin/kotlinx-kover/issues/792)\u003c/code\u003e\u003c/a\u003e Fixed support of Android 9 with hilt\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.5\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/784\"\u003e\u003ccode\u003e[#784](https://github.com/Kotlin/kotlinx-kover/issues/784)\u003c/code\u003e\u003c/a\u003e Fixed support of build variants in Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/785\"\u003e\u003ccode\u003e[#785](https://github.com/Kotlin/kotlinx-kover/issues/785)\u003c/code\u003e\u003c/a\u003e Fixed support of test task dependencies in Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.4\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/776\"\u003e\u003ccode\u003e[#776](https://github.com/Kotlin/kotlinx-kover/issues/776)\u003c/code\u003e\u003c/a\u003e Added support for Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.3\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/759\"\u003e\u003ccode\u003e[#759](https://github.com/Kotlin/kotlinx-kover/issues/759)\u003c/code\u003e\u003c/a\u003e Fixed locating of host tests for the multiplatform Android library\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/766\"\u003e\u003ccode\u003e[#766](https://github.com/Kotlin/kotlinx-kover/issues/766)\u003c/code\u003e\u003c/a\u003e Fixed support of KSP plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Gradle version to \u003ccode\u003e9.1.0\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.2\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/748\"\u003e\u003ccode\u003e[#748](https://github.com/Kotlin/kotlinx-kover/issues/748)\u003c/code\u003e\u003c/a\u003e Disable caching for KoverAgentJarTask\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/747\"\u003e\u003ccode\u003e[#747](https://github.com/Kotlin/kotlinx-kover/issues/747)\u003c/code\u003e\u003c/a\u003e Added support for KMP Android library plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-kover/blob/main/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx.kover's changelog\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/ssa1004/commerce-ops/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssa1004%2Fcommerce-ops/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"},{"uuid":"4425612374","node_id":"PR_kwDOP5TXAM7aff4n","number":46,"state":"closed","title":"build(deps): Bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0 in /backend","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-02T18:01:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T02:00:35.000Z","updated_at":"2026-07-02T18:02:05.000Z","time_to_close":4464081,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":"/backend","ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.10.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/toastedcoffee/BottleVault/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/toastedcoffee%2FBottleVault/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"},{"uuid":"4293396075","node_id":"PR_kwDOJxpqaM7T1Mgh","number":470,"state":"open","title":"Bump the libs group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T05:49:02.000Z","updated_at":"2026-06-01T19:00:27.042Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":13,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.4.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| com.diffplug.spotless | `7.0.2` | `8.4.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.1` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._clos...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/470","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/470","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/470/packages"},{"uuid":"4231246117","node_id":"PR_kwDOJxpqaM7RFh1O","number":467,"state":"closed","title":"Bump the libs group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-13T05:42:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-09T09:54:52.000Z","updated_at":"2026-04-13T05:43:01.000Z","time_to_close":330487,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":11,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.4.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| com.diffplug.spotless | `7.0.2` | `8.4.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/l...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/467","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/467","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/467/packages"},{"uuid":"4224718249","node_id":"PR_kwDOGWIjw87Qz_MT","number":4021,"state":"open","title":"chore(deps): [WPB-9777] bump org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0","user":"dependabot[bot]","labels":["type: chore 🧹","👕 size: XS","dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-08T13:05:30.000Z","updated_at":"2026-04-09T08:36:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): [WPB-9777]","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.9.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wireapp/kalium/pull/4021","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wireapp%2Fkalium/issues/4021","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4021/packages"},{"uuid":"4161707673","node_id":"PR_kwDORyzZEc7OUGU0","number":13,"state":"open","title":"Chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","automatic-merge","kotlin","major"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-28T21:26:00.000Z","updated_at":"2026-04-10T22:02:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n","html_url":"https://github.com/joergi/jukebox/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/joergi%2Fjukebox/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"4085352739","node_id":"PR_kwDOFyQuU87LEVLV","number":55,"state":"closed","title":"Bump the app-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-28T02:11:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T23:36:46.000Z","updated_at":"2026-04-28T02:11:02.000Z","time_to_close":3638054,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"app-dependencies","update_count":33,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"9.4.0"},{"name":"com.github.ben-manes:gradle-versions-plugin","old_version":"0.52.0","new_version":"0.53.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"app.cash.sqldelight:gradle-plugin","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:android-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:native-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:sqlite-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:coroutines-extensions","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"io.insert-koin:koin-android","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-compose","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-core","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-test","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"org.jetbrains.androidx.navigation:navigation-compose","old_version":"2.8.0-alpha12","new_version":"2.9.2","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.9.6","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.7.7","new_version":"1.10.5"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.7.7","new_version":"1.10.5"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.activity:activity-compose","old_version":"1.10.0","new_version":"1.13.0"},{"name":"io.ktor:ktor-client-core","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-android","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-ios","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"app.cash.turbine:turbine","old_version":"1.2.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"org.jetbrains.compose","old_version":"1.7.3","new_version":"1.10.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the app-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| gradle-wrapper | `8.11.1` | `9.4.0` |\n| com.github.ben-manes:gradle-versions-plugin | `0.52.0` | `0.53.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [app.cash.sqldelight:gradle-plugin](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:android-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:native-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:sqlite-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:coroutines-extensions](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [io.insert-koin:koin-android](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-compose](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-core](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-test](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [org.jetbrains.androidx.navigation:navigation-compose](https://github.com/JetBrains/compose-jb) | `2.8.0-alpha12` | `2.9.2` |\n| [org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose](https://github.com/JetBrains/compose-jb) | `2.8.4` | `2.9.6` |\n| androidx.compose.ui:ui-tooling | `1.7.7` | `1.10.5` |\n| androidx.compose.ui:ui-tooling-preview | `1.7.7` | `1.10.5` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.1.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.1.0` | `3.4.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.activity:activity-compose | `1.10.0` | `1.13.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-ios](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.2.0` | `1.2.1` |\n| org.jetbrains.compose | `1.7.3` | `1.10.2` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.11.1 to 9.4.0\n\nUpdates `com.github.ben-manes:gradle-versions-plugin` from 0.52.0 to 0.53.0\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-gradle-plugin` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-formatting` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-formatting's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-formatting` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-formatting's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:gradle-plugin` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.1\"\u003e2.3.1\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.0\"\u003e2.3.0\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.2.1\"\u003e2.2.1\u003c/a\u003e - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b4906d9afbb183fea3592c12e7459a7bf772b1e5\"\u003e\u003ccode\u003eb4906d9\u003c/code\u003e\u003c/a\u003e Prepare version 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b32610cbf15dab6eede7c51026002f4ec0df4078\"\u003e\u003ccode\u003eb32610c\u003c/code\u003e\u003c/a\u003e Update dependency org.xerial:sqlite-jdbc to v3.51.3.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7ccfef30506be1057ff1e455bc4e821af6904192\"\u003e\u003ccode\u003e7ccfef3\u003c/code\u003e\u003c/a\u003e Fix postgresql unique table constraint nullable (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/c9889f5838fb39a2c44859b78ed7ce29b95a1b10\"\u003e\u003ccode\u003ec9889f5\u003c/code\u003e\u003c/a\u003e Update plugin shadow to v9.4.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6173\"\u003e#6173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/1009cc1fbc718972dd943ffa13d9c80ab5209ab0\"\u003e\u003ccode\u003e1009cc1\u003c/code\u003e\u003c/a\u003e Update sqlPsi to v0.7.3 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6169\"\u003e#6169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/3da8e21e94b7b6afe98a7bb50c9ba56a243cbdf5\"\u003e\u003ccode\u003e3da8e21\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.1 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6168\"\u003e#6168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/32b06a9f1646edc69b357ca8192356cdf7726342\"\u003e\u003ccode\u003e32b06a9\u003c/code\u003e\u003c/a\u003e Update dependency androidx.paging:paging-common to v3.4.0-rc01 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/4d55239bab2dc44ea4d2c3d5f55ef59eea13ec3c\"\u003e\u003ccode\u003e4d55239\u003c/code\u003e\u003c/a\u003e Upgrade paging library (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7981477e63f3c58df97f87613c372ef6945e8924\"\u003e\u003ccode\u003e7981477\u003c/code\u003e\u003c/a\u003e Update publish plugin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/26571c05c681aa03cc49961a443122e00a6a38f1\"\u003e\u003ccode\u003e26571c0\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6160\"\u003e#6160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sqldelight/sqldelight/compare/2.0.2...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:android-driver` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:android-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:android-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.1\"\u003e2.3.1\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.0\"\u003e2.3.0\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.2.1\"\u003e2.2.1\u003c/a\u003e - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b4906d9afbb183fea3592c12e7459a7bf772b1e5\"\u003e\u003ccode\u003eb4906d9\u003c/code\u003e\u003c/a\u003e Prepare version 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b32610cbf15dab6eede7c51026002f4ec0df4078\"\u003e\u003ccode\u003eb32610c\u003c/code\u003e\u003c/a\u003e Update dependency org.xerial:sqlite-jdbc to v3.51.3.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7ccfef30506be1057ff1e455bc4e821af6904192\"\u003e\u003ccode\u003e7ccfef3\u003c/code\u003e\u003c/a\u003e Fix postgresql unique table constraint nullable (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/c9889f5838fb39a2c44859b78ed7ce29b95a1b10\"\u003e\u003ccode\u003ec9889f5\u003c/code\u003e\u003c/a\u003e Update plugin shadow to v9.4.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6173\"\u003e#6173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/1009cc1fbc718972dd943ffa13d9c80ab5209ab0\"\u003e\u003ccode\u003e1009cc1\u003c/code\u003e\u003c/a\u003e Update sqlPsi to v0.7.3 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6169\"\u003e#6169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/3da8e21e94b7b6afe98a7bb50c9ba56a243cbdf5\"\u003e\u003ccode\u003e3da8e21\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.1 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6168\"\u003e#6168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/32b06a9f1646edc69b357ca8192356cdf7726342\"\u003e\u003ccode\u003e32b06a9\u003c/code\u003e\u003c/a\u003e Update dependency androidx.paging:paging-common to v3.4.0-rc01 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/4d55239bab2dc44ea4d2c3d5f55ef59eea13ec3c\"\u003e\u003ccode\u003e4d55239\u003c/code\u003e\u003c/a\u003e Upgrade paging library (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7981477e63f3c58df97f87613c372ef6945e8924\"\u003e\u003ccode\u003e7981477\u003c/code\u003e\u003c/a\u003e Update publish plugin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/26571c05c681aa03cc49961a443122e00a6a38f1\"\u003e\u003ccode\u003e26571c0\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6160\"\u003e#6160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sqldelight/sqldelight/compare/2.0.2...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:native-driver` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:native-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:native-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​va...\n\n_Description has been truncated_","html_url":"https://github.com/OHoussein/CryptoApp/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OHoussein%2FCryptoApp/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"},{"uuid":"4061437375","node_id":"PR_kwDOFNg7n87J35De","number":83,"state":"closed","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T01:37:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T00:41:47.000Z","updated_at":"2026-03-12T01:37:32.000Z","time_to_close":3343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.5.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.5.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RealYusufIsmail-Mc-Mods/Ben-10-Mod/pull/83","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealYusufIsmail-Mc-Mods%2FBen-10-Mod/issues/83","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/83/packages"},{"uuid":"4004935055","node_id":"PR_kwDODjdpzc7HBUu4","number":2,"state":"closed","title":"chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0 in /MazeGame","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T11:46:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-28T16:27:47.000Z","updated_at":"2026-03-01T11:46:55.000Z","time_to_close":69540,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0","repository_url":null}],"path":"/MazeGame","ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.9.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Aston13/Mazes/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aston13%2FMazes/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"},{"uuid":"3856970326","node_id":"PR_kwDOQ3eIBc6_atu8","number":5,"state":"open","title":"Bump the gradle-dependencies group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T17:45:12.000Z","updated_at":"2026-01-26T17:45:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-dependencies","update_count":4,"packages":[{"name":"jvm","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.intellij.platform","old_version":"2.10.5","new_version":"2.11.0"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14","new_version":"9.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 4 updates in the / directory: [jvm](https://github.com/JetBrains/kotlin), org.jetbrains.intellij.platform, org.gradle.toolchains.foojay-resolver-convention and gradle-wrapper.\n\nUpdates `jvm` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.intellij.platform` from 2.10.5 to 2.11.0\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14 to 9.3.0\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamkorynta/intellij-gradle-properties-plugin/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamkorynta%2Fintellij-gradle-properties-plugin/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3854605692","node_id":"PR_kwDOJxpqaM6_S_YC","number":444,"state":"open","title":"Bump the libs group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T05:51:58.000Z","updated_at":"2026-01-26T05:53:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":15,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.3.0"},{"name":"com.google.crypto.tink:tink","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"io.ktor:ktor-client-core","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.18","new_version":"1.5.26","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.79","new_version":"1.83","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.2.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.2.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| gradle-wrapper | `8.8` | `9.3.0` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.18.0` | `1.20.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.18` | `1.5.26` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.79` | `1.83` |\n| com.diffplug.spotless | `7.0.2` | `8.2.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.34.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.2.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.8 to 9.3.0\n\nUpdates `com.google.crypto.tink:tink` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tink-crypto/tink-java/releases\"\u003ecom.google.crypto.tink:tink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTink Java v1.20.0\u003c/h2\u003e\n\u003cp\u003eTink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis is Tink Java 1.20.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe complete list of changes since 1.19.0 can be found \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.19.0...v1.20.0\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the Protobuf dependency to 4.33.0.\u003c/li\u003e\n\u003cli\u003eImproved performance for creating JWT signature primitives.\u003c/li\u003e\n\u003cli\u003eDropped support for WORKSPACE Bazel files.\u003c/li\u003e\n\u003cli\u003eAllow using 32-byte keys in subtle AES-SIV primitive.\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/tink-crypto/tink-java/issues/63\"\u003etink-crypto/tink-java#63\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaven:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.crypto.tink\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;tink\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.20.0\u0026lt;/version\u0026gt;\n\u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eGradle:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003edependencies {\n  implementation 'com.google.crypto.tink:tink-android:1.20.0'\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eBazel:\u003c/h3\u003e\n\u003ch4\u003eUsing bzlmod\u003c/h4\u003e\n\u003cpre\u003e\u003ccode\u003ebazel_dep(name = \u0026quot;tink_java\u0026quot;)\n\u003cp\u003egit_override(\u003cbr /\u003e\nmodule_name = \u0026quot;tink_java\u0026quot;,\u003cbr /\u003e\nremote = \u0026quot;\u003ca href=\"https://github.com/tink-crypto/tink-java\"\u003ehttps://github.com/tink-crypto/tink-java\u003c/a\u003e\u0026quot;,\u003cbr /\u003e\ntag = \u0026quot;v1.20.0\u0026quot;,\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eTink Java v1.19.0\u003c/h2\u003e\n\u003cp\u003eTink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis is Tink Java 1.19\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/fe3e251f06de537d6ef60992a03507d4f7079894\"\u003e\u003ccode\u003efe3e251\u003c/code\u003e\u003c/a\u003e Tag version 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/efe61ad2619df2c4477208a65dcc3122788e42df\"\u003e\u003ccode\u003eefe61ad\u003c/code\u003e\u003c/a\u003e Move JwtNames.java to /jwt/internal/JwtNames.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/24509849df04766e9bf9b4dc475ddb7748cbf0bf\"\u003e\u003ccode\u003e2450984\u003c/code\u003e\u003c/a\u003e Move JsonUtil to com.google.crypto.tink.jwt.internal.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/493a645be00aba7ad23a8d151328ef2292d09592\"\u003e\u003ccode\u003e493a645\u003c/code\u003e\u003c/a\u003e Add createWithProvider to internal SLH-DSA primitives.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/71f2a9b333b59fef200924fa350db2479582354d\"\u003e\u003ccode\u003e71f2a9b\u003c/code\u003e\u003c/a\u003e Implement the LowLevelCryptoCaller annotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/d2312530a3436b067c475a296fe1764f36c761a8\"\u003e\u003ccode\u003ed231253\u003c/code\u003e\u003c/a\u003e Make SlhDsa available in SignatureConfigurationV1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/47d37db78cd32545bbdbaac128cababdf5b2e143\"\u003e\u003ccode\u003e47d37db\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaSign/VerifyConscrypt to Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/067cd7a589254a68f84230ad61ddceb42417b15e\"\u003e\u003ccode\u003e067cd7a\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaProtoSerialization in Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/074bbfba5e8e56aea5f3e835bbfa0ea87eba9daf\"\u003e\u003ccode\u003e074bbfb\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaPrivateKeys to Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/ab3558c99ca3b01aa683682070a5e9b7f4a7dd2b\"\u003e\u003ccode\u003eab3558c\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaPublicKey to Tink Java.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/444","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/444","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/444/packages"},{"uuid":"3828051156","node_id":"PR_kwDOOoBoeM697AA8","number":233,"state":"open","title":"chore(deps): bump the all-gradle group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-19T05:23:30.000Z","updated_at":"2026-01-19T05:27:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-gradle","update_count":54,"packages":[{"name":"com.gradle.develocity","old_version":"3.18.1","new_version":"4.3.1"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"1.9.20","new_version":"2.1.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"org.jetbrains.kotlinx:kover-gradle-plugin","old_version":"0.8.3","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"me.paulschwarz:spring-dotenv","old_version":"4.0.0","new_version":"5.1.0","repository_url":"https://github.com/paulschwarz/spring-dotenv"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.3","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-ui","old_version":"2.6.0","new_version":"3.0.1","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-api","old_version":"2.6.0","new_version":"3.0.1","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springframework.boot:spring-boot-starter-webflux","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-aop","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-data-r2dbc","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-oauth2-resource-server","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-security","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.0","new_version":"26.0.8","repository_url":"https://github.com/keycloak/keycloak-client"},{"name":"org.springframework.security:spring-security-core","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-client","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-jose","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.18.0","new_version":"2.21.0"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"io.projectreactor.kotlin:reactor-kotlin-extensions","old_version":"1.2.3","new_version":"1.3.0","repository_url":"https://github.com/reactor/reactor-kotlin-extensions"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-reactor","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.apache.commons:commons-text","old_version":"1.12.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.jsoup:jsoup","old_version":"1.18.1","new_version":"1.22.1","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.11.2","new_version":"6.0.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.security:spring-security-test","old_version":"6.3.3","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"io.projectreactor:reactor-test","old_version":"3.6.10","new_version":"3.8.2","repository_url":"https://github.com/reactor/reactor-core"},{"name":"io.cucumber:cucumber-java","old_version":"7.20.0","new_version":"7.33.0","repository_url":"https://github.com/cucumber/cucumber-jvm"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"net.datafaker:datafaker","old_version":"2.4.0","new_version":"2.5.3","repository_url":"https://github.com/datafaker-net/datafaker"},{"name":"org.assertj:assertj-core","old_version":"3.26.3","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"io.kotest:kotest-assertions-core-jvm","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-json","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"org.testcontainers:testcontainers","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.dasniko:testcontainers-keycloak","old_version":"3.4.0","new_version":"4.1.1","repository_url":"https://github.com/dasniko/testcontainers-keycloak"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.6","new_version":"0.13.0"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.gorylenko.gradle-git-properties","old_version":"2.4.2","new_version":"2.5.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-gradle group with 54 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.gradle.develocity | `3.18.1` | `4.3.1` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.10.0` | `1.0.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `1.9.20` | `2.1.0` |\n| [org.jetbrains.kotlinx:kover-gradle-plugin](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.4` |\n| [me.paulschwarz:spring-dotenv](https://github.com/paulschwarz/spring-dotenv) | `4.0.0` | `5.1.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.1` |\n| [org.springdoc:springdoc-openapi-starter-webflux-api](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.1` |\n| [org.springframework.boot:spring-boot-starter-webflux](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-data-r2dbc](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-oauth2-resource-server](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.0` | `26.0.8` |\n| [org.springframework.security:spring-security-core](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-client](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-jose](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.18.0` | `2.21.0` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.18.0` | `2.21.0` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.18.0` | `2.21.0` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.0` | `2.21.0` |\n| [io.projectreactor.kotlin:reactor-kotlin-extensions](https://github.com/reactor/reactor-kotlin-extensions) | `1.2.3` | `1.3.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-reactor](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.12.0` | `1.15.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.1` | `1.22.1` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.11.2` | `6.0.2` |\n| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.3.3` | `7.0.2` |\n| [io.projectreactor:reactor-test](https://github.com/reactor/reactor-core) | `3.6.10` | `3.8.2` |\n| [io.cucumber:cucumber-java](https://github.com/cucumber/cucumber-jvm) | `7.20.0` | `7.33.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.7` |\n| [net.datafaker:datafaker](https://github.com/datafaker-net/datafaker) | `2.4.0` | `2.5.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.26.3` | `3.27.6` |\n| [io.kotest:kotest-assertions-core-jvm](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-assertions-json](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [com.github.dasniko:testcontainers-keycloak](https://github.com/dasniko/testcontainers-keycloak) | `3.4.0` | `4.1.1` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.6` | `0.13.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| com.gorylenko.gradle-git-properties | `2.4.2` | `2.5.4` |\n\n\nUpdates `com.gradle.develocity` from 3.18.1 to 4.3.1\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.10.0 to 1.0.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.spring` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.dokka:dokka-gradle-plugin` from 1.9.20 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/dokka/releases\"\u003eorg.jetbrains.dokka:dokka-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDokka Gradle Plugin v2 is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eK2 Analysis is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eSupport for \u003cstrong\u003eContext parameters\u003c/strong\u003e and \u003cstrong\u003eNested typealiases\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eHTML format refinement: better \u003cstrong\u003eaccessibility\u003c/strong\u003e and consistency across all components\u003c/li\u003e\n\u003cli\u003eMultiple \u003cstrong\u003eperformance\u003c/strong\u003e and compatibility improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMore details about each of the changes below. See \u003ca href=\"https://github.com/Kotlin/dokka/milestone/32?closed=1\"\u003eDokka 2.1.0\u003c/a\u003e milestone for the list of all changes.\u003c/p\u003e\n\u003ch2\u003eDokka's Gradle plugin v2 is enabled by default!\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://kotl.in/dokka-gradle-migration\"\u003emigration guide\u003c/a\u003e for the update procedure\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Kotlin/dokka/releases/tag/v2.0.0\"\u003eDokka 2.0.0\u003c/a\u003e introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4133\"\u003eenabled by default\u003c/a\u003e!\u003c/strong\u003e\nAs a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4135\"\u003edeprecated\u003c/a\u003e and will be removed in future releases.\nRunning Gradle tasks related to Dokka Gradle plugin v1 \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4187\"\u003ewill result in an error\u003c/a\u003e during execution.\u003c/p\u003e\n\u003cp\u003eStarting from this release, the minimum supported Gradle version is 7.6.3.\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Gradle Properties types to be non-nullable (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4136\"\u003eKotlin/dokka#4136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate displayName convention for DokkaSourceSets (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4142\"\u003eKotlin/dokka#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate olderVersionsDir to be an optional input. (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4155\"\u003eKotlin/dokka#4155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd lifecycle tasks for generating formats (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4141\"\u003eKotlin/dokka#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse project name as default \u003ccode\u003emodulePath\u003c/code\u003e for root project to avoid clashing outputs during aggregation (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4158\"\u003eKotlin/dokka#4158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Dokka debug config file from task outputs (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/3961\"\u003eKotlin/dokka#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove V2EnabledWithHelpers warning \u0026amp; info message (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4206\"\u003eKotlin/dokka#4206\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDokka's K2 analysis is enabled by default!\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0fixes the most problematic issues with K2 analysis and makes it \u003cstrong\u003eenabled by default!\u003c/strong\u003e\nIn addition to this, Dokka 2.1.0with K2 analysis introduces support for \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4080\"\u003econtext parameters\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4261\"\u003enested typealiases\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDokka's K2 analysis leverages Kotlin's K2 compiler frontend for analysing code and uses the same shared Analysis API, which is used in IntelliJ IDEA’s K2 mode.\nThe output with K2 analysis should mostly match that of K1 analysis, but there may be minor differences.\u003c/p\u003e\n\u003cp\u003eIf you previously opted in to Dokka's K2 analysis, \u003cstrong\u003eremove\u003c/strong\u003e \u003ccode\u003eorg.jetbrains.dokka.experimental.tryK2\u003c/code\u003e from your project's \u003ccode\u003egradle.properties\u003c/code\u003e file.\nDokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.\nWe would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix merging of implicit expect/actual with a single declaration (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4016\"\u003eKotlin/dokka#4016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Wasm platform fully (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4123\"\u003eKotlin/dokka#4123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eoverride\u003c/code\u003e modifier for generic functions (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4126\"\u003eKotlin/dokka#4126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a receiver to accessor DRI (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4122\"\u003eKotlin/dokka#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix param tag for type parameter on implicit primary constructor (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4154\"\u003eKotlin/dokka#4154\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/905286d0d31f143bf0627656db1f14ea56fa42d3\"\u003e\u003ccode\u003e905286d\u003c/code\u003e\u003c/a\u003e Update Dokka version references to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4297\"\u003e#4297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/a3376d195a2cff7e86ba71299c2c2b6a784add05\"\u003e\u003ccode\u003ea3376d1\u003c/code\u003e\u003c/a\u003e Update the version for the 2.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/cbba0c9feda8bcfaa0f52602f61c4a97524f3493\"\u003e\u003ccode\u003ecbba0c9\u003c/code\u003e\u003c/a\u003e fix: spacing in html output (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4292\"\u003e#4292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/16eac5971db36b26f9213df7a54175122ae4f11e\"\u003e\u003ccode\u003e16eac59\u003c/code\u003e\u003c/a\u003e Support for nested typealiases (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/c...\n\n_Description has been truncated_","html_url":"https://github.com/dallay/hatchgrid/pull/233","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dallay%2Fhatchgrid/issues/233","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/233/packages"},{"uuid":"3821925520","node_id":"PR_kwDOQuYdus69nOeF","number":5,"state":"open","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-16T12:55:38.000Z","updated_at":"2026-01-16T13:02:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aalsanie/shamash/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalsanie%2Fshamash/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"3810826876","node_id":"PR_kwDOQBDOvc69CMwU","number":33,"state":"open","title":"build(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T22:27:04.000Z","updated_at":"2026-01-13T22:27:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e\n\u003c!-- ELLIPSIS_HIDDEN --\u003e\n\n----\n\n\u003e [!IMPORTANT]\n\u003e Bumps `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0 in `settings.gradle`.\n\u003e \n\u003e   - **Dependency Update**:\n\u003e     - Bumps `org.gradle.toolchains.foojay-resolver-convention` from version `0.8.0` to `1.0.0` in `settings.gradle`.\n\u003e \n\u003e \u003csup\u003eThis description was created by \u003c/sup\u003e[\u003cimg alt=\"Ellipsis\" src=\"https://img.shields.io/badge/Ellipsis-blue?color=175173\"\u003e](https://www.ellipsis.dev?ref=sheepdestroyer%2Fmaterialistic\u0026utm_source=github\u0026utm_medium=referral)\u003csup\u003e for ab8d9e76bd81686d8e7d255d346995942adc911a. You can [customize](https://app.ellipsis.dev/sheepdestroyer/settings/summaries) this summary. It will automatically update as commits are pushed.\u003c/sup\u003e\n\n\u003c!-- ELLIPSIS_HIDDEN --\u003e","html_url":"https://github.com/sheepdestroyer/materialistic/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepdestroyer%2Fmaterialistic/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"},{"uuid":"3785937068","node_id":"PR_kwDOQ0tiHs67w1g5","number":3,"state":"closed","title":"Bump the libs group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-27T05:54:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-06T17:33:43.000Z","updated_at":"2026-01-27T05:54:44.000Z","time_to_close":1772460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":28,"packages":[{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.6.2","new_version":"0.7.1-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.nimbusds:oauth2-oidc-sdk","old_version":"11.23.1","new_version":"11.31"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.80","new_version":"1.83","repository_url":"https://github.com/bcgit/bc-java"},{"name":"io.arrow-kt:arrow-core","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-fx-coroutines","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-core-serialization","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"org.webjars:swagger-ui","old_version":"5.20.1","new_version":"5.31.0","repository_url":"https://github.com/swagger-api/swagger-ui"},{"name":"eu.europa.ec.eudi:eudi-lib-jvm-sdjwt-kt","old_version":"0.14.3","new_version":"0.17.2","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt"},{"name":"io.ktor:ktor-client-apache","old_version":"3.1.1","new_version":"3.3.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.google.crypto.tink:tink","old_version":"1.17.0","new_version":"1.20.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"eu.europa.ec.eudi:eudi-lib-kmp-statium","old_version":"0.2.1","new_version":"0.4.0","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium"},{"name":"com.google.zxing:javase","old_version":"3.5.3","new_version":"3.5.4","repository_url":"https://github.com/zxing/zxing"},{"name":"com.eygraber:uri-kmp","old_version":"0.0.19","new_version":"0.0.21","repository_url":"https://github.com/eygraber/uri-kmp"},{"name":"eu.europa.ec.joinup.sd-dss:dss-service","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-validation","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-tsl-validation","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-utils-apache-commons","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"com.networknt:json-schema-validator","old_version":"1.5.7","new_version":"3.0.0","repository_url":"https://github.com/networknt/json-schema-validator"},{"name":"com.sksamuel.aedile:aedile-core","old_version":"2.1.2","new_version":"3.0.2","repository_url":"https://github.com/sksamuel/aedile"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"org.springframework.boot","old_version":"3.4.6","new_version":"4.0.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.1.0"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.1.9"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.1","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.6.2` | `0.7.1-0.6.x-compat` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.1` | `1.10.2` |\n| [com.nimbusds:oauth2-oidc-sdk](https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) | `11.23.1` | `11.31` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.80` | `1.83` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [io.arrow-kt:arrow-fx-coroutines](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [io.arrow-kt:arrow-core-serialization](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [org.webjars:swagger-ui](https://github.com/swagger-api/swagger-ui) | `5.20.1` | `5.31.0` |\n| [eu.europa.ec.eudi:eudi-lib-jvm-sdjwt-kt](https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt) | `0.14.3` | `0.17.2` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.1.1` | `3.3.3` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.17.0` | `1.20.0` |\n| [eu.europa.ec.eudi:eudi-lib-kmp-statium](https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium) | `0.2.1` | `0.4.0` |\n| [com.google.zxing:javase](https://github.com/zxing/zxing) | `3.5.3` | `3.5.4` |\n| [com.eygraber:uri-kmp](https://github.com/eygraber/uri-kmp) | `0.0.19` | `0.0.21` |\n| [eu.europa.ec.joinup.sd-dss:dss-service](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-validation](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-tsl-validation](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-utils-apache-commons](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) | `1.5.7` | `3.0.0` |\n| [com.sksamuel.aedile:aedile-core](https://github.com/sksamuel/aedile) | `2.1.2` | `3.0.2` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.6` | `4.0.1` |\n| com.diffplug.spotless | `7.0.2` | `8.1.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.1.9` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.1` | `0.9.4` |\n\n\nUpdates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.6.2 to 0.7.1-0.6.x-compat\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e in favor of \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/506\"\u003e#506\u003c/a\u003e). See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\u003c/a\u003e for a description of what to do if this causes problems.\u003c/li\u003e\n\u003cli\u003eUnify the range of admissible \u003ccode\u003eLocalDate\u003c/code\u003e and \u003ccode\u003eLocalDateTime\u003c/code\u003e values on all platforms (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/432\"\u003e#432\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003edayOfMonth\u003c/code\u003e to \u003ccode\u003eday\u003c/code\u003e, \u003ccode\u003emonthNumber\u003c/code\u003e to \u003ccode\u003emonth\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/84\"\u003e#84\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDayOfWeek\u003c/code\u003e and \u003ccode\u003eMonth\u003c/code\u003e no longer type aliases to \u003ccode\u003ejava.time.DayOfWeek\u003c/code\u003e and \u003ccode\u003ejava.time.Month\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/96\"\u003e#96\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e\u0026quot;UTC\u0026quot;\u003c/code\u003e and not \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e be the timezone identifier for \u003ccode\u003eTimeZone.UTC\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/474\"\u003e#474\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003e\u0026quot;z\u0026quot;\u003c/code\u003e in \u003ccode\u003eTimeZone.of\u003c/code\u003e, with the same meaning as \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/529\"\u003e#529\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eDateTimeFormat\u003c/code\u003e-based \u003ccode\u003eKSerializer\u003c/code\u003e implementations for datetime entities, and change the default serializers to be based on \u003ccode\u003etoString\u003c/code\u003e/\u003ccode\u003eparse\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/415\"\u003e#415\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ejava.io.Serializable\u003c/code\u003e implementations for most of the entities in the library (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/143\"\u003e#143\u003c/a\u003e). Thanks for spotting and fixing a potential vulnerability, \u003ca href=\"https://github.com/lukellmann\"\u003e\u003ccode\u003e@​lukellmann\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLocalDateRange\u003c/code\u003e, a range of \u003ccode\u003eLocalDate\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/190\"\u003e#190\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/PeterAttardo\"\u003e\u003ccode\u003e@​PeterAttardo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eYearMonth\u003c/code\u003e and \u003ccode\u003eYearMonthRange\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/168\"\u003e#457\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport obtaining the system timezone on old Debian-based distributions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/430\"\u003e#430\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix not being able to parse some valid timezone identifiers using the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/444\"\u003e#444\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse the grammar defined in RFC 9557 for parsing timezone identifiers in the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive, allowing parsing values not present in the timezone database (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/531\"\u003e#531\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved error messages when formatting an invalid \u003ccode\u003eDateTimeComponents\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/471\"\u003e#471\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet the JPMS dependency on \u003ccode\u003ekotlinx.serialization.core\u003c/code\u003e to be optional (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/496\"\u003e#496\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCHANGELOG\u003c/h1\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e in favor of \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/506\"\u003e#506\u003c/a\u003e). See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\u003c/a\u003e for a description of what to do if this causes problems.\u003c/li\u003e\n\u003cli\u003eUnify the range of admissible \u003ccode\u003eLocalDate\u003c/code\u003e and \u003ccode\u003eLocalDateTime\u003c/code\u003e values on all platforms (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/432\"\u003e#432\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003edayOfMonth\u003c/code\u003e to \u003ccode\u003eday\u003c/code\u003e, \u003ccode\u003emonthNumber\u003c/code\u003e to \u003ccode\u003emonth\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/84\"\u003e#84\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDayOfWeek\u003c/code\u003e and \u003ccode\u003eMonth\u003c/code\u003e no longer type aliases to \u003ccode\u003ejava.time.DayOfWeek\u003c/code\u003e and \u003ccode\u003ejava.time.Month\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/96\"\u003e#96\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e\u0026quot;UTC\u0026quot;\u003c/code\u003e and not \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e be the timezone identifier for \u003ccode\u003eTimeZone.UTC\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/474\"\u003e#474\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003e\u0026quot;z\u0026quot;\u003c/code\u003e in \u003ccode\u003eTimeZone.of\u003c/code\u003e, with the same meaning as \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/529\"\u003e#529\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eDateTimeFormat\u003c/code\u003e-based \u003ccode\u003eKSerializer\u003c/code\u003e implementations for datetime entities, and change the default serializers to be based on \u003ccode\u003etoString\u003c/code\u003e/\u003ccode\u003eparse\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/415\"\u003e#415\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ejava.io.Serializable\u003c/code\u003e implementations for most of the entities in the library (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/143\"\u003e#143\u003c/a\u003e). Thanks for spotting and fixing a potential vulnerability, \u003ca href=\"https://github.com/lukellmann\"\u003e\u003ccode\u003e@​lukellmann\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLocalDateRange\u003c/code\u003e, a range of \u003ccode\u003eLocalDate\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/190\"\u003e#190\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/PeterAttardo\"\u003e\u003ccode\u003e@​PeterAttardo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eYearMonth\u003c/code\u003e and \u003ccode\u003eYearMonthRange\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/168\"\u003e#457\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport obtaining the system timezone on old Debian-based distributions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/430\"\u003e#430\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix not being able to parse some valid timezone identifiers using the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/444\"\u003e#444\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse the grammar defined in RFC 9557 for parsing timezone identifiers in the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive, allowing parsing values not present in the timezone database (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/531\"\u003e#531\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved error messages when formatting an invalid \u003ccode\u003eDateTimeComponents\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/471\"\u003e#471\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet the JPMS dependency on \u003ccode\u003ekotlinx.serialization.core\u003c/code\u003e to be optional (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/496\"\u003e#496\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/1d73c7ba1bbb5d010351589cec9639f414eee9cc\"\u003e\u003ccode\u003e1d73c7b\u003c/code\u003e\u003c/a\u003e The compatibility artifact for 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/15794e97ddc0c410dea73c3ae0bf59c0ff156466\"\u003e\u003ccode\u003e15794e9\u003c/code\u003e\u003c/a\u003e Version 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/aebfd4824b536c2b2b5824735e6e62840c41aab0\"\u003e\u003ccode\u003eaebfd48\u003c/code\u003e\u003c/a\u003e fixup! Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/637db6cf270416b16a99776cde6d085a3856dd43\"\u003e\u003ccode\u003e637db6c\u003c/code\u003e\u003c/a\u003e fixup! Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/b9a1b37f977111f969a0acea8de4b55ece04152d\"\u003e\u003ccode\u003eb9a1b37\u003c/code\u003e\u003c/a\u003e Remove old sonatype staging repo configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/6b4e8c74fe5c521e54554f2505a919a6ae48c889\"\u003e\u003ccode\u003e6b4e8c7\u003c/code\u003e\u003c/a\u003e Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/3d84f697bd3ac3ba0bfe89c50612d4e656776214\"\u003e\u003ccode\u003e3d84f69\u003c/code\u003e\u003c/a\u003e Allow running MacOS TeamCity builds on ARM agents (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/19dfa8088362cd7b24371ebf7921ab7eba820bdf\"\u003e\u003ccode\u003e19dfa80\u003c/code\u003e\u003c/a\u003e Restore binary compatibility of \u003ccode\u003eyear()\u003c/code\u003e, \u003ccode\u003emonthNumber()\u003c/code\u003e, and \u003ccode\u003edayOfYear()\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/2e4fda1bc8166d732cbd5fa5daaaae5be8c71605\"\u003e\u003ccode\u003e2e4fda1\u003c/code\u003e\u003c/a\u003e Add note about kotlinx-serialization to 0.7.0 migration section (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/5824a703f27e93828de9fae24b4f4815c7e9ad45\"\u003e\u003ccode\u003e5824a70\u003c/code\u003e\u003c/a\u003e Implement Foundation-based time zone support for Darwin systems with comprehe...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.6.2...v0.7.1-0.6.x-compat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.1 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8900478a8e20c073145b1608fbc71fe3d7378b\"\u003e\u003ccode\u003e5f89004\u003c/code\u003e\u003c/a\u003e Version 1.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/1a8de2e451e0a2c650538e62e7c7e591970d28b1\"\u003e\u003ccode\u003e1a8de2e\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e9b247e84a43fac5759e2cf69733e25f23d7eb17\"\u003e\u003ccode\u003ee9b247e\u003c/code\u003e\u003c/a\u003e Advertise source jars for JVM-only libraries (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4394\"\u003e#4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/6baf7c821ed9d7ee5db8b6353c24bcf614fc1826\"\u003e\u003ccode\u003e6baf7c8\u003c/code\u003e\u003c/a\u003e Restore Android compatibility in \u003ccode\u003eExecutor.asCoroutineDispatcher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4396\"\u003e#4396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dbca4c1eaadadd29b1122fdf24a6cb53bc69fe76\"\u003e\u003ccode\u003edbca4c1\u003c/code\u003e\u003c/a\u003e Reliably run finalizers even if \u003ccode\u003erunBlocking\u003c/code\u003e got interrupted. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/45893cec51c63490ce294e46ae25cef3e4d625bf\"\u003e\u003ccode\u003e45893ce\u003c/code\u003e\u003c/a\u003e Add the issue template for guide-related problems (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4386\"\u003e#4386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8627cc37d4a2a2e2d683b98d4f53d1e03f59a366\"\u003e\u003ccode\u003e8627cc3\u003c/code\u003e\u003c/a\u003e Fix an explanation of flow emit (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4391\"\u003e#4391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8035c108a1211deded198b7809cd8347ca07a5\"\u003e\u003ccode\u003e5f8035c\u003c/code\u003e\u003c/a\u003e Specify explicit return types for some public API functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4389\"\u003e#4389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/465e29d325841244f3a1aac2e13073bc965f9736\"\u003e\u003ccode\u003e465e29d\u003c/code\u003e\u003c/a\u003e Set a predefined image width in debug-coroutines-with-idea.md (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/96de3017802c6711cbe02acfff9b07975d422150\"\u003e\u003ccode\u003e96de301\u003c/code\u003e\u003c/a\u003e Simplify newFixedThreadPoolContext using apply and remove unused import (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.1...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.nimbusds:oauth2-oidc-sdk` from 11.23.1 to 11.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/CHANGELOG.txt\"\u003ecom.nimbusds:oauth2-oidc-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eversion 1.0 (2012-05-29)\n* First official release with authorisation endpoint, token endpoint, check\nID endpoint and UserInfo endpoint support.\n* JSON Web Tokens (JWTs) support through the Nimbus-JWT library.\n* Language Tags (RFC 5646) support through the Nimbus-LangTag library.\n* JSON support through the JSON Smart library.\u003c/p\u003e\n\u003cp\u003eversion 2.0 (2013-05-13)\n* Intermediary development release with Maven build, published to\nMaven Central.\u003c/p\u003e\n\u003cp\u003eversion 2.1 (2013-06-06)\n* Updates the APIs to OpenID Connect Messages draft 20, OpenID Connect\nStandard draft 21, OpenID Connect Discovery draft 17 and OpenID\nConnect Registration draft 19.\n* Major refactoring of the APIs for greater simplicity.\n* Adds JUnit tests.\u003c/p\u003e\n\u003cp\u003eversion 2.2 (2013-06-18)\n* Refactors dynamic OpenID Connect client registration.\n* Adds partial support of the OAuth 2.0 Dynamic Client Registration\nProtocol (draft-ietf-oauth-dyn-reg-12).\n* Optimises parsing of request parameters consisting of one or more\ntokens (scope, response type, etc).\u003c/p\u003e\n\u003cp\u003eversion 2.3 (2013-06-19)\n* Renames OAuth 2.0 dynamic client registration package.\n* Adds ClientInformation.getClientMetadata() method.\n* Adds OIDCClientInformation class.\u003c/p\u003e\n\u003cp\u003eversion 2.4 (2013-06-20)\n* Adds static OIDCClientInformation.parse(JSONObject) method.\u003c/p\u003e\n\u003cp\u003eversion 2.5 (2013-06-22)\n* Adds support OAuth 2.0 dynamic client update.\n* Adds OpenID Connect dynamic client registration classes.\u003c/p\u003e\n\u003cp\u003eversion 2.6 (2013-06-25)\n* Enforces order of preference of ACR values in OpenID Connect client\nmetadata, as required by the specification.\n* Documentation and performance improvements.\u003c/p\u003e\n\u003cp\u003eversion 2.7 (2013-06-26)\n* Switches Identifier generation to java.security.SecureRandom.\u003c/p\u003e\n\u003cp\u003eversion 2.8 (2013-06-30)\n* Fixes serialisation and assignment bugs in ClientMetadata.\n* Switches Secret generation to java.security.SecureRandom.\u003c/p\u003e\n\u003cp\u003eversion 2.9 (2013-09-17)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/c797f2efc38340273f91e0f963d815aeacd8ccf0\"\u003e\u003ccode\u003ec797f2e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/ace5ca73e401c340f991c5fd5a3f1e3d5289952d\"\u003e\u003ccode\u003eace5ca7\u003c/code\u003e\u003c/a\u003e Bumps deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/a859906d4495ea5630d66b66d1662aa1a1c42b10\"\u003e\u003ccode\u003ea859906\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/47549f573d74bdea8681897be2a702a8dbeb627e\"\u003e\u003ccode\u003e47549f5\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/a5020e24c828cca11dfe62db9d7185a5e005e834\"\u003e\u003ccode\u003ea5020e2\u003c/code\u003e\u003c/a\u003e DPoPProofClaimsSetVerifier supports a max accepted DPoP proof iat age relativ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/bfa89440e06bd61fb4867b4d9bb2f25d459fbc1e\"\u003e\u003ccode\u003ebfa8944\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/024a2b4d285463a1caf4e5b9e8b78206b560b8f7\"\u003e\u003ccode\u003e024a2b4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/6e55677e709d346b628e0c4a90a9626131cd1f24\"\u003e\u003ccode\u003e6e55677\u003c/code\u003e\u003c/a\u003e AuthorizationServerMetadata outputs OpenID Federation 1.0 \u0026quot;signed_jwks_uri\u0026quot; a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/f16fc9ecffa817c63e6956c7d767f8fc9357146b\"\u003e\u003ccode\u003ef16fc9e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/86fde733617402ac14e195579bb2b8b42114be5d\"\u003e\u003ccode\u003e86fde73\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/branches/compare/11.31..11.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcpkix-jdk18on` from 1.80 to 1.83\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcpkix-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e2.1.1 Version\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\nRelease: 1.84\u003c!-- raw HTML omitted --\u003e\nDate:      TBD\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e2.2.1 Version\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\nRelease: 1.83\u003c!-- raw HTML omitted --\u003e\nDate:      2025, November 27th.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-fx-coroutines` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-fx-coroutines's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core-serialization` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-fx-coroutines` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-fx-coroutines's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core-serialization` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.webjars:swagger-ui` from 5.20.1 to 5.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/swagger-api/swagger-ui/releases\"\u003eorg.webjars:swagger-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.31.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.3...v5.31.0\"\u003e5.31.0\u003c/a\u003e (2025-12-11)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd dark mode (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10653\"\u003e#10653\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/5f42eee7476e3f6117af49fb66a40969304a4868\"\u003e5f42eee\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/5327\"\u003e#5327\u003c/a\u003e \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/9964\"\u003e#9964\u003c/a\u003e \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10089\"\u003e#10089\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.30.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.2...v5.30.3\"\u003e5.30.3\u003c/a\u003e (2025-11-25)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update vulnerable \u003ccode\u003e@​release-it/conventional-changelog\u003c/code\u003e to 10.0.2 (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10645\"\u003e#10645\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/6acfc6e2403104048bce3a1e5b5f3d7987ca8765\"\u003e6acfc6e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update vulnerable dependencies (js-yaml \u0026amp; glob) (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10644\"\u003e#10644\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/03cf01bdbde4e308595b85b177f3ea5b3d37da9a\"\u003e03cf01b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e handle sanitizing multi-level relative paths (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10640\"\u003e#10640\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/58aff59a4cd1db1ded5e6b6b94aba4830b2b5487\"\u003e58aff59\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/4107\"\u003e#4107\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.30.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.1...v5.30.2\"\u003e5.30.2\u003c/a\u003e (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul...\n\n_Description has been truncated_","html_url":"https://github.com/espinr/eudi-srv-web-verifier-endpoint/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/espinr%2Feudi-srv-web-verifier-endpoint/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"},{"uuid":"3766381362","node_id":"PR_kwDOOoBoeM66xd4M","number":230,"state":"closed","title":"chore(deps): bump the all-gradle group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-01-19T05:23:36.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T04:28:43.000Z","updated_at":"2026-01-19T05:23:37.000Z","time_to_close":1817693,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-gradle","update_count":54,"packages":[{"name":"com.gradle.develocity","old_version":"3.18.1","new_version":"4.3"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"1.9.20","new_version":"2.1.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"org.jetbrains.kotlinx:kover-gradle-plugin","old_version":"0.8.3","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"me.paulschwarz:spring-dotenv","old_version":"4.0.0","new_version":"5.0.1","repository_url":"https://github.com/paulschwarz/spring-dotenv"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.3","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-ui","old_version":"2.6.0","new_version":"3.0.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-api","old_version":"2.6.0","new_version":"3.0.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springframework.boot:spring-boot-starter-webflux","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-aop","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-data-r2dbc","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-oauth2-resource-server","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-security","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.0","new_version":"26.0.7","repository_url":"https://github.com/keycloak/keycloak-client"},{"name":"org.springframework.security:spring-security-core","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-client","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-jose","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.18.0","new_version":"2.20"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.18.0","new_version":"2.20","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.18.0","new_version":"2.20"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.0","new_version":"2.20"},{"name":"io.projectreactor.kotlin:reactor-kotlin-extensions","old_version":"1.2.3","new_version":"1.3.0","repository_url":"https://github.com/reactor/reactor-kotlin-extensions"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-reactor","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.apache.commons:commons-text","old_version":"1.12.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.jsoup:jsoup","old_version":"1.18.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.11.2","new_version":"6.0.1","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.security:spring-security-test","old_version":"6.3.3","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"io.projectreactor:reactor-test","old_version":"3.6.10","new_version":"3.8.1","repository_url":"https://github.com/reactor/reactor-core"},{"name":"io.cucumber:cucumber-java","old_version":"7.20.0","new_version":"7.33.0","repository_url":"https://github.com/cucumber/cucumber-jvm"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"net.datafaker:datafaker","old_version":"2.4.0","new_version":"2.5.3","repository_url":"https://github.com/datafaker-net/datafaker"},{"name":"org.assertj:assertj-core","old_version":"3.26.3","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"io.kotest:kotest-assertions-core-jvm","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-json","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"org.testcontainers:testcontainers","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.dasniko:testcontainers-keycloak","old_version":"3.4.0","new_version":"4.0.1","repository_url":"https://github.com/dasniko/testcontainers-keycloak"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.6","new_version":"0.13.0"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.gorylenko.gradle-git-properties","old_version":"2.4.2","new_version":"2.5.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-gradle group with 54 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.gradle.develocity | `3.18.1` | `4.3` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.10.0` | `1.0.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `1.9.20` | `2.1.0` |\n| [org.jetbrains.kotlinx:kover-gradle-plugin](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.4` |\n| [me.paulschwarz:spring-dotenv](https://github.com/paulschwarz/spring-dotenv) | `4.0.0` | `5.0.1` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.0` |\n| [org.springdoc:springdoc-openapi-starter-webflux-api](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.0` |\n| [org.springframework.boot:spring-boot-starter-webflux](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-data-r2dbc](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-oauth2-resource-server](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.0` | `26.0.7` |\n| [org.springframework.security:spring-security-core](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-client](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-jose](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| com.fasterxml.jackson.core:jackson-core | `2.18.0` | `2.20` |\n| [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson) | `2.18.0` | `2.20` |\n| com.fasterxml.jackson.core:jackson-databind | `2.18.0` | `2.20` |\n| com.fasterxml.jackson.module:jackson-module-kotlin | `2.18.0` | `2.20` |\n| [io.projectreactor.kotlin:reactor-kotlin-extensions](https://github.com/reactor/reactor-kotlin-extensions) | `1.2.3` | `1.3.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-reactor](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.12.0` | `1.15.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.1` | `1.21.2` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.11.2` | `6.0.1` |\n| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.3.3` | `7.0.2` |\n| [io.projectreactor:reactor-test](https://github.com/reactor/reactor-core) | `3.6.10` | `3.8.1` |\n| [io.cucumber:cucumber-java](https://github.com/cucumber/cucumber-jvm) | `7.20.0` | `7.33.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.7` |\n| [net.datafaker:datafaker](https://github.com/datafaker-net/datafaker) | `2.4.0` | `2.5.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.26.3` | `3.27.6` |\n| [io.kotest:kotest-assertions-core-jvm](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-assertions-json](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [com.github.dasniko:testcontainers-keycloak](https://github.com/dasniko/testcontainers-keycloak) | `3.4.0` | `4.0.1` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.6` | `0.13.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| com.gorylenko.gradle-git-properties | `2.4.2` | `2.5.4` |\n\n\nUpdates `com.gradle.develocity` from 3.18.1 to 4.3\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.10.0 to 1.0.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.spring` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.dokka:dokka-gradle-plugin` from 1.9.20 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/dokka/releases\"\u003eorg.jetbrains.dokka:dokka-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDokka Gradle Plugin v2 is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eK2 Analysis is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eSupport for \u003cstrong\u003eContext parameters\u003c/strong\u003e and \u003cstrong\u003eNested typealiases\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eHTML format refinement: better \u003cstrong\u003eaccessibility\u003c/strong\u003e and consistency across all components\u003c/li\u003e\n\u003cli\u003eMultiple \u003cstrong\u003eperformance\u003c/strong\u003e and compatibility improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMore details about each of the changes below. See \u003ca href=\"https://github.com/Kotlin/dokka/milestone/32?closed=1\"\u003eDokka 2.1.0\u003c/a\u003e milestone for the list of all changes.\u003c/p\u003e\n\u003ch2\u003eDokka's Gradle plugin v2 is enabled by default!\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://kotl.in/dokka-gradle-migration\"\u003emigration guide\u003c/a\u003e for the update procedure\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Kotlin/dokka/releases/tag/v2.0.0\"\u003eDokka 2.0.0\u003c/a\u003e introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4133\"\u003eenabled by default\u003c/a\u003e!\u003c/strong\u003e\nAs a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4135\"\u003edeprecated\u003c/a\u003e and will be removed in future releases.\nRunning Gradle tasks related to Dokka Gradle plugin v1 \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4187\"\u003ewill result in an error\u003c/a\u003e during execution.\u003c/p\u003e\n\u003cp\u003eStarting from this release, the minimum supported Gradle version is 7.6.3.\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Gradle Properties types to be non-nullable (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4136\"\u003eKotlin/dokka#4136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate displayName convention for DokkaSourceSets (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4142\"\u003eKotlin/dokka#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate olderVersionsDir to be an optional input. (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4155\"\u003eKotlin/dokka#4155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd lifecycle tasks for generating formats (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4141\"\u003eKotlin/dokka#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse project name as default \u003ccode\u003emodulePath\u003c/code\u003e for root project to avoid clashing outputs during aggregation (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4158\"\u003eKotlin/dokka#4158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Dokka debug config file from task outputs (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/3961\"\u003eKotlin/dokka#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove V2EnabledWithHelpers warning \u0026amp; info message (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4206\"\u003eKotlin/dokka#4206\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDokka's K2 analysis is enabled by default!\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0fixes the most problematic issues with K2 analysis and makes it \u003cstrong\u003eenabled by default!\u003c/strong\u003e\nIn addition to this, Dokka 2.1.0with K2 analysis introduces support for \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4080\"\u003econtext parameters\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4261\"\u003enested typealiases\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDokka's K2 analysis leverages Kotlin's K2 compiler frontend for analysing code and uses the same shared Analysis API, which is used in IntelliJ IDEA’s K2 mode.\nThe output with K2 analysis should mostly match that of K1 analysis, but there may be minor differences.\u003c/p\u003e\n\u003cp\u003eIf you previously opted in to Dokka's K2 analysis, \u003cstrong\u003eremove\u003c/strong\u003e \u003ccode\u003eorg.jetbrains.dokka.experimental.tryK2\u003c/code\u003e from your project's \u003ccode\u003egradle.properties\u003c/code\u003e file.\nDokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.\nWe would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix merging of implicit expect/actual with a single declaration (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4016\"\u003eKotlin/dokka#4016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Wasm platform fully (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4123\"\u003eKotlin/dokka#4123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eoverride\u003c/code\u003e modifier for generic functions (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4126\"\u003eKotlin/dokka#4126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a receiver to accessor DRI (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4122\"\u003eKotlin/dokka#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix param tag for type parameter on implicit primary constructor (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4154\"\u003eKotlin/dokka#4154\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/905286d0d31f143bf0627656db1f14ea56fa42d3\"\u003e\u003ccode\u003e905286d\u003c/code\u003e\u003c/a\u003e Update Dokka version references to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4297\"\u003e#4297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/a3376d195a2cff7e86ba71299c2c2b6a784add05\"\u003e\u003ccode\u003ea3376d1\u003c/code\u003e\u003c/a\u003e Update the version for the 2.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/cbba0c9feda8bcfaa0f52602f61c4a97524f3493\"\u003e\u003ccode\u003ecbba0c9\u003c/code\u003e\u003c/a\u003e fix: spacing in html output (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4292\"\u003e#4292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/16eac5971db36b26f9213df7a54175122ae4f11e\"\u003e\u003ccode\u003e16eac59\u003c/code\u003e\u003c/a\u003e Support for nested typealiases (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/454c68764f8955e14a732e879b11d1f9659fc20c\"\u003e\u003ccode\u003e454c687\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eInvocationTargetException...\n\n_Description has been truncated_","html_url":"https://github.com/dallay/hatchgrid/pull/230","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dallay%2Fhatchgrid/issues/230","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/230/packages"},{"uuid":"3739620562","node_id":"PR_kwDOP_Lw0c65aMFz","number":13,"state":"closed","title":"Bump the all group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T16:48:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-17T16:35:54.000Z","updated_at":"2026-01-01T16:48:59.000Z","time_to_close":1296783,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":28,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"org.springframework.boot:spring-boot-configuration-processor","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-artemis","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-web","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-testcontainers","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test-junit5","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.15.4","new_version":"1.16.1","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.messaginghub:pooled-jms","old_version":"3.1.7","new_version":"3.1.8","repository_url":"https://github.com/messaginghub/pooled-jms"},{"name":"com.google.protobuf:protobuf-kotlin","old_version":"4.32.1","new_version":"4.33.2"},{"name":"org.springframework.modulith:spring-modulith-starter-core","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-actuator","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-observability","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-starter-test","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"io.mockk:mockk-jvm","old_version":"1.14.5","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"com.ninja-squad:springmockk","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/Ninja-Squad/springmockk"},{"name":"org.testcontainers:testcontainers","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:activemq","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.sonarqube","old_version":"6.3.1.5724","new_version":"7.2.1.6560"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.1.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.8.0` | `1.0.0` |\n| [org.springframework.boot:spring-boot-configuration-processor](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-artemis](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-testcontainers](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit5](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.15.4` | `1.16.1` |\n| [org.messaginghub:pooled-jms](https://github.com/messaginghub/pooled-jms) | `3.1.7` | `3.1.8` |\n| com.google.protobuf:protobuf-kotlin | `4.32.1` | `4.33.2` |\n| [org.springframework.modulith:spring-modulith-starter-core](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-actuator](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-observability](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-starter-test](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [io.mockk:mockk-jvm](https://github.com/mockk/mockk) | `1.14.5` | `1.14.7` |\n| [com.ninja-squad:springmockk](https://github.com/Ninja-Squad/springmockk) | `4.0.2` | `5.0.1` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [org.testcontainers:activemq](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| org.sonarqube | `6.3.1.5724` | `7.2.1.6560` |\n| com.diffplug.spotless | `8.0.0` | `8.1.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0\n\nUpdates `org.springframework.boot:spring-boot-configuration-processor` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-configuration-processor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-docker-compose` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-docker-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-devtools` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-actuator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-artemis` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-artemis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-web` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-web's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-test` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/OSGP/gxf-publiclighting-message-transformer/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSGP%2Fgxf-publiclighting-message-transformer/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"},{"uuid":"3722440241","node_id":"PR_kwDOL7Cw_864hBCp","number":15,"state":"open","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-12T08:05:01.000Z","updated_at":"2025-12-14T14:04:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.5.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.5.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/progeek-de/kimai-client/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/progeek-de%2Fkimai-client/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"},{"uuid":"3669495644","node_id":"PR_kwDOQcj13861wPjT","number":7,"state":"closed","title":"chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-11-27T01:41:25.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-27T01:04:40.000Z","updated_at":"2025-11-27T01:42:02.000Z","time_to_close":2205,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sdj7072/masked4j/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdj7072%2Fmasked4j/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"},{"uuid":"3668058978","node_id":"PR_kwDOQdiw1c61rfEd","number":7,"state":"closed","title":"build(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-29T04:42:27.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-26T15:44:57.000Z","updated_at":"2025-11-29T04:42:35.000Z","time_to_close":219450,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.10.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Lopesnextgen/aether-lunar-launcher/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lopesnextgen%2Faether-lunar-launcher/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}],"issue_packages":[{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":"/services/inventory-service","pr_created_at":"2026-06-22T06:20:23.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"4714011654","node_id":"PR_kwDOSV8vQc7pCDkY","number":85,"state":"closed","title":"build: bump the gradle-inventory-service-all group in /services/inventory-service with 9 updates","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-22T06:53:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T06:20:23.000Z","updated_at":"2026-06-22T06:53:59.000Z","time_to_close":2007,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build: bump","group_name":"gradle-inventory-service-all","update_count":9,"packages":[{"name":"org.redisson:redisson-spring-boot-starter","old_version":"3.31.0","new_version":"4.6.1"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.9","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"jvm","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.spring","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"plugin.jpa","old_version":"1.9.25","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.springframework.boot","old_version":"3.5.14","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.1","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":"/services/inventory-service","ecosystem":"maven"},"body":"Bumps the gradle-inventory-service-all group in /services/inventory-service with 9 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.redisson:redisson-spring-boot-starter | `3.31.0` | `4.6.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.9` | `3.0.3` |\n| [jvm](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [plugin.spring](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [plugin.jpa](https://github.com/JetBrains/kotlin) | `1.9.25` | `2.4.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.14` | `4.1.0` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.1` | `0.9.8` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.8.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.6.0` |\n\nUpdates `org.redisson:redisson-spring-boot-starter` from 3.31.0 to 4.6.1\n\nUpdates `org.springdoc:springdoc-openapi-starter-webmvc-ui` from 2.8.9 to 3.0.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/releases\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003espringdoc-openapi v3.0.3 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/seregamorph\"\u003e\u003ccode\u003e@​seregamorph\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/pull/3260\"\u003espringdoc/springdoc-openapi#3260\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\"\u003ehttps://github.com/springdoc/springdoc-openapi/compare/v3.0.2...v3.0.3\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003espringdoc-openapi v3.0.2 released!\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/springdoc/springdoc-openapi/blob/v3.0.3/CHANGELOG.md\"\u003eorg.springdoc:springdoc-openapi-starter-webmvc-ui's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.0.3] - 2026-04-12\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3246\"\u003e#3246\u003c/a\u003e – Add Springdoc OpenAPI MCP (Model Context Protocol) support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3256\"\u003e#3256\u003c/a\u003e – Auto-set \u003ccode\u003enullable: true\u003c/code\u003e for Kotlin nullable types in schema properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3239\"\u003e#3239\u003c/a\u003e – Add support for the \u003ccode\u003e@Range\u003c/code\u003e constraint validation annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3244\"\u003e#3244\u003c/a\u003e – Handle default values for \u003ccode\u003eLocalDate\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.47\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.2\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e – \u003ccode\u003e@ConditionalOnClass(HateoasProperties.class)\u003c/code\u003e in \u003ccode\u003eSpringDocHateoasConfiguration\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eForwards all MCP non-transport headers to downstream methods\u003c/li\u003e\n\u003cli\u003eDynamically resolve the base path from \u003ccode\u003ewindow.location.pathname\u003c/code\u003e for MCP UI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3258\"\u003e#3258\u003c/a\u003e – Setting API Version Required when using WebFlux breaks the Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3259\"\u003e#3259\u003c/a\u003e – Annotated Generic properties getting applied to sibling properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3255\"\u003e#3255\u003c/a\u003e – \u003ccode\u003eDirection\u003c/code\u003e enum: fixed visibility scope of group order so that \u003ccode\u003esetGroupsOrder\u003c/code\u003e method can be used\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3247\"\u003e#3247\u003c/a\u003e – Preserve YAML group URLs in Swagger UI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3245\"\u003e#3245\u003c/a\u003e – Upgrade swagger-core from version 2.2.43 to 2.2.45\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3235\"\u003e#3235\u003c/a\u003e – \u003ccode\u003ePropertyResolverUtils\u003c/code\u003e retains a \u003ccode\u003eJsonNode\u003c/code\u003e when reading an \u003ccode\u003eExtensionProperty\u003c/code\u003e annotation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3226\"\u003e#3226\u003c/a\u003e – Propagate \u003ccode\u003eJsonView\u003c/code\u003e context when resolving \u003ccode\u003ePage\u0026lt;T\u0026gt;\u003c/code\u003e schema\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[3.0.2] - 2026-02-27\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3229\"\u003e#3229\u003c/a\u003e – Add support for Spring Framework API Versioning with Functional Endpoints\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3208\"\u003e#3208\u003c/a\u003e – Add \u003ccode\u003espringdoc.swagger-ui.document-title\u003c/code\u003e property\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade Spring Boot to version \u003cstrong\u003e4.0.3\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-core to version \u003cstrong\u003e2.2.43\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade swagger-ui to version \u003cstrong\u003e5.32.0\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eUpgrade Scalar to version \u003cstrong\u003e0.5.55\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3232\"\u003e#3232\u003c/a\u003e – Gracefully handle springdoc endpoint paths during API version resolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3230\"\u003e#3230\u003c/a\u003e – Scalar source URLs resolve to \u003ccode\u003enull/\u0026lt;groupName\u0026gt;\u003c/code\u003e on second request when using \u003ccode\u003eGroupedOpenApi\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3228\"\u003e#3228\u003c/a\u003e – springdoc-openapi-starter 3.x doesn't depend on \u003ccode\u003eorg.springframework.boot:spring-boot-starter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3220\"\u003e#3220\u003c/a\u003e – Reachability metadata not compatible with GraalVM 25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3195\"\u003e#3195\u003c/a\u003e – Application won't compile when OpenApi and spring-boot-data-rest is present\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3193\"\u003e#3193\u003c/a\u003e – \u003ccode\u003eOpenApi\u003c/code\u003e field in \u003ccode\u003eSpringDocConfigProperties\u003c/code\u003e does not comply with camel case naming conventions\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3c30283fb33ced3b8368c7a890ee05d23119322a\"\u003e\u003ccode\u003e3c30283\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release v3.0.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4184c05db39e96e8d1ce1287d5f58f242a4c8165\"\u003e\u003ccode\u003e4184c05\u003c/code\u003e\u003c/a\u003e update .gitignore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/89745c20c3695b9b934cbf77f96ef1cd1df9fac7\"\u003e\u003ccode\u003e89745c2\u003c/code\u003e\u003c/a\u003e CHANGELOG.md update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/4d1a730134720740ed3b9a2831d14e97dbe28780\"\u003e\u003ccode\u003e4d1a730\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/springdoc/springdoc-openapi/issues/3260\"\u003e#3260\u003c/a\u003e from seregamorph/SpringDocHateoasConfiguration-class...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/54e765036d9d49935a97e3ccebd875581efcc8ed\"\u003e\u003ccode\u003e54e7650\u003c/code\u003e\u003c/a\u003e ConditionalOnClass (HateoasProperties.class) in SpringDocHateoasConfiguration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/9f354b2a3cb92a8caa1d0518b1916ac4f79fbd71\"\u003e\u003ccode\u003e9f354b2\u003c/code\u003e\u003c/a\u003e Spring-boot upgrade to version 4.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/14df32f99179db89967a6260562775cd6b883128\"\u003e\u003ccode\u003e14df32f\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/3ee9a44547f44fb4982c98b7a5dbc1f6f9aff1a3\"\u003e\u003ccode\u003e3ee9a44\u003c/code\u003e\u003c/a\u003e Forwards all MCP non-transport headers, to downstream methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/df99408a7674af5ea3fc40f79d81bfef372e7c0e\"\u003e\u003ccode\u003edf99408\u003c/code\u003e\u003c/a\u003e upgrade swagger-ui to version 5.32.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/springdoc/springdoc-openapi/commit/6ee70f4074e76d3d8554487e4318681d95e444d7\"\u003e\u003ccode\u003e6ee70f4\u003c/code\u003e\u003c/a\u003e upgrade swagger-api to version 2.2.47\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/springdoc/springdoc-openapi/compare/v2.8.9...v3.0.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `jvm` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.spring` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `plugin.jpa` from 1.9.25 to 2.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eplugin.jpa's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eplugin.jpa's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83867\"\u003e\u003ccode\u003eKT-83867\u003c/code\u003e\u003c/a\u003e OVERLOAD_RESOLUTION_AMBIGUITY false positive with assertEquals in IJ repo\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83723\"\u003e\u003ccode\u003eKT-83723\u003c/code\u003e\u003c/a\u003e [Analysis API] Enable experimental KDoc resolver by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83388\"\u003e\u003ccode\u003eKT-83388\u003c/code\u003e\u003c/a\u003e Analysis API: properly support KMP in KotlinPackageProvider\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-65683\"\u003e\u003ccode\u003eKT-65683\u003c/code\u003e\u003c/a\u003e Analysis API: Dangling file session creation causes a \u003ccode\u003ecomputeIfAbsent\u003c/code\u003e contract violation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78946\"\u003e\u003ccode\u003eKT-78946\u003c/code\u003e\u003c/a\u003e Evaluation of variable with local class in type parameter leads to InventNamesForLocalClasses exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-68260\"\u003e\u003ccode\u003eKT-68260\u003c/code\u003e\u003c/a\u003e K2 AA: InvalidFirElementTypeException “For CALLABLE_REFERENCE_EXPRESSION with text \u003ccode\u003e::lam1\u003c/code\u003e, unexpected element of type: no element found” with illegal callable reference call\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70896\"\u003e\u003ccode\u003eKT-70896\u003c/code\u003e\u003c/a\u003e AA: False positive deprecation warning with override of built-in method in JDK mapped class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84711\"\u003e\u003ccode\u003eKT-84711\u003c/code\u003e\u003c/a\u003e K2 IDE sometimes loses FIR plugin-generated declarations after file changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84625\"\u003e\u003ccode\u003eKT-84625\u003c/code\u003e\u003c/a\u003e Analysis API: collectDesignationPath fails for nested classes inside plugin-generated top-level classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84596\"\u003e\u003ccode\u003eKT-84596\u003c/code\u003e\u003c/a\u003e Improve K2 Jooq completion performance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84525\"\u003e\u003ccode\u003eKT-84525\u003c/code\u003e\u003c/a\u003e KaValueParameterSymbol#getHasSynthesizedName returns false for FirDeclarationOrigin.SubstitutionOverride.DeclarationSite\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83546\"\u003e\u003ccode\u003eKT-83546\u003c/code\u003e\u003c/a\u003e Kotlin analysis reach ClsCustomNavigationPolicy\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84259\"\u003e\u003ccode\u003eKT-84259\u003c/code\u003e\u003c/a\u003e Move CommonDefaultImportsProvider to the frontend independent module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82945\"\u003e\u003ccode\u003eKT-82945\u003c/code\u003e\u003c/a\u003e Analysis API: KotlinIllegalArgumentExceptionWithAttachments: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71135\"\u003e\u003ccode\u003eKT-71135\u003c/code\u003e\u003c/a\u003e AA: exception from sealed inheritors checker when \u003ccode\u003eanalyzeCopy\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83905\"\u003e\u003ccode\u003eKT-83905\u003c/code\u003e\u003c/a\u003e Analysis API: Improve UX with test data\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84913\"\u003e\u003ccode\u003eKT-84913\u003c/code\u003e\u003c/a\u003e Extract compiler classes used by the PSI \u0026amp; Analysis API to a separate module\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-64986\"\u003e\u003ccode\u003eKT-64986\u003c/code\u003e\u003c/a\u003e Analysis API: Implement Analysis API tests for different KMP Platforms\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84776\"\u003e\u003ccode\u003eKT-84776\u003c/code\u003e\u003c/a\u003e The test data manager misses the redundancy check in the update mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84962\"\u003e\u003ccode\u003eKT-84962\u003c/code\u003e\u003c/a\u003e The test data manager misses -ea flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84388\"\u003e\u003ccode\u003eKT-84388\u003c/code\u003e\u003c/a\u003e Preserve the EOF status in the test data manager to avoid extra changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84362\"\u003e\u003ccode\u003eKT-84362\u003c/code\u003e\u003c/a\u003e Analysis API tests produce many warnings due to \u0026quot;not yet loaded registry\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84279\"\u003e\u003ccode\u003eKT-84279\u003c/code\u003e\u003c/a\u003e Test Data Manager fails on a clean build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83913\"\u003e\u003ccode\u003eKT-83913\u003c/code\u003e\u003c/a\u003e Exclude compiler-based Analysis API tests from Git tracking\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80379\"\u003e\u003ccode\u003eKT-80379\u003c/code\u003e\u003c/a\u003e Extract per-module test generators for AA tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84120\"\u003e\u003ccode\u003eKT-84120\u003c/code\u003e\u003c/a\u003e Move CLI modules out of kotlin-compiler-fe10-for-ide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83200\"\u003e\u003ccode\u003eKT-83200\u003c/code\u003e\u003c/a\u003e Track external dependencies of the Analysis API modules\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82434\"\u003e\u003ccode\u003eKT-82434\u003c/code\u003e\u003c/a\u003e Light classes should prefer enum entries to properties\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84200\"\u003e\u003ccode\u003eKT-84200\u003c/code\u003e\u003c/a\u003e SLC: return type is not boxed for delegated methods with generic original method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-72451\"\u003e\u003ccode\u003eKT-72451\u003c/code\u003e\u003c/a\u003e \u0026quot;CCE: class PsiPrimitiveType cannot be cast to class PsiClassType\u0026quot; with same-named enum class and typealias\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. PSI\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/add726ca8c82922b6ab4cb2a27ae738d6a780817\"\u003e\u003ccode\u003eadd726c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/69a4a81ef24de99aec8c05d175239ddfe29c876d\"\u003e\u003ccode\u003e69a4a81\u003c/code\u003e\u003c/a\u003e [Wasm] Add binaryen per-file arguments\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/8907c635d4a7101e318b895c2829fc917c64e92c\"\u003e\u003ccode\u003e8907c63\u003c/code\u003e\u003c/a\u003e [KGP] Suppress duplicate compiler warning output when --warning-mode=all is a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f9bef128ea07e986602e3c6524cea85038308ae6\"\u003e\u003ccode\u003ef9bef12\u003c/code\u003e\u003c/a\u003e [KGP] Add failing test for duplicate compiler warning output via Problems API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/7fe49c227af21127ab4eb39a2da693e14a068fe4\"\u003e\u003ccode\u003e7fe49c2\u003c/code\u003e\u003c/a\u003e KT-86268: Use 2.4.0 toolchain for abiValidation with older CVs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/13d25e2c581f55cecbe80bf9e9359af14fa00ef9\"\u003e\u003ccode\u003e13d25e2\u003c/code\u003e\u003c/a\u003e KT-86268: Regression test added\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f7d1a76541b33871e9be156143ceb904588c4863\"\u003e\u003ccode\u003ef7d1a76\u003c/code\u003e\u003c/a\u003e [JKlib] Fix JAR deserializer configuration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/5cec663affd3fe9e7b7342e336ad4952ae59a2ad\"\u003e\u003ccode\u003e5cec663\u003c/code\u003e\u003c/a\u003e [JKlib] Wire up JvmBuiltInClassDescriptorFactory\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ef146114de8b0db65ff96b21a67c87da95a8c82e\"\u003e\u003ccode\u003eef14611\u003c/code\u003e\u003c/a\u003e Make the default stability of non-final classes \u003ccode\u003eUnknown\u003c/code\u003e instead of \u003ccode\u003eStable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/d76473afd242d7655c975a6346ed4b24c35573ca\"\u003e\u003ccode\u003ed76473a\u003c/code\u003e\u003c/a\u003e [Gradle] Fix GeneralNativeIT.shouldAllowToOverrideDownloadUrl test failures\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v1.9.25...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot` from 3.5.14 to 4.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.1.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.1-Release-Notes\"\u003erelease notes for Spring Boot 4.1\u003c/a\u003e are available on the wiki.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public constructor to InvalidConfigurationPropertyValueException that accepts a cause \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50211\"\u003e#50211\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce memory consumption when repeatedly calling WritableJson.toByteArray \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/49428\"\u003e#49428\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMailSender auto-configuration does not enable hostname verification \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50747\"\u003e#50747\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eArtemis auto-configuration uses a predictable default location for the embedded broker's data \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50745\"\u003e#50745\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEmbedded LDAP SSL should not be enabled when its bundle is empty \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50700\"\u003e#50700\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eInetAddressFilter.externalAddresses does not exclude special purpose addresses from RFC 6890 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50668\"\u003e#50668\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50645\"\u003e#50645\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSSL should not be enabled when a SSL bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50635\"\u003e#50635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest auto-configuration no longer integrates Spring Security with HtmlUnitDriver \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50633\"\u003e#50633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfiguration property metadata includes incorrect class references \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50632\"\u003e#50632\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocker Compose support does not restore thread interrupt flag when catching InterruptedException \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50618\"\u003e#50618\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRabbitProperties enables SSL even when spring.rabbitmq.ssl.bundle is overridden to an empty string \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50612\"\u003e#50612\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullPointerException in reactor-netty SniProvider when SSL bundle uses client-auth or server truststore without server-name-bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50610\"\u003e#50610\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpringJtaPlatform should have been deprecated since 4.1.0-M3 \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50592\"\u003e#50592\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLayer written outside the output location of '//' exception is thrown when using extract layers in root directory \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50510\"\u003e#50510\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eConfigurationPropertiesReportEndpoint exposes AOP proxy internals \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50417\"\u003e#50417\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCreated StackTracePrinter instances have no access to the Environment \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50414\"\u003e#50414\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMappingsEndpoint reports the context's own ID as parentId when a parent exists \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50412\"\u003e#50412\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack module does not validate long-to-int casts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50410\"\u003e#50410\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle gRPC support fails if protobuf-java dependency is used instead of protobuf-java-util \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50405\"\u003e#50405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGraphQL WebSocket support does not configure allowed origins \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50394\"\u003e#50394\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Boot Loader Does Not Support RSA and EC Signed Jars \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50298\"\u003e#50298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeter registries are not removed from the global registry when the context is closed \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50287\"\u003e#50287\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDataSourceBuilder cannot derive a DataSource from a lazy connection proxy \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50271\"\u003e#50271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNullable annotations from AbstractErrorController.getErrorAttributes are not aligned with implementation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50266\"\u003e#50266\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBean definitions can be added with an initializer before setAllowBeanDefinitionOverriding is called \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50264\"\u003e#50264\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEndpointRequest links matcher unnecessarily matches HTTP methods other than GET  \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50261\"\u003e#50261\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eActuator's '/cloudfoundryapplication' endpoint does not work if restrictive CORS configuration is provided using a bean named corsConfigurationSource \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50258\"\u003e#50258\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThreadPoolTaskScheduleBuilder unnecessarily loses precision when configuring await termination time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50234\"\u003e#50234\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNimbusJwtDecoder silently accepts unknown values for spring.security.oauth2.resourceserver.jwt.jws-algorithms \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50228\"\u003e#50228\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMissing dependency management for spring-boot-web-server-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50224\"\u003e#50224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSpring Batch support for MongoDB modules are not included in dependency management \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/50223\"\u003e#50223\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eApply HTML escaping to timestamp attribute in Whitelabel error page \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50216\"\u003e#50216\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGrpcServerHealthScheduler is not started in servlet environments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50209\"\u003e#50209\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSetting server.servlet.session.cookie.partitioned=true has no effect when using Tomcat \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50204\"\u003e#50204\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix reference to Gradle documentation for module replacement \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50647\"\u003e#50647\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument SSL reloading with Let's Encrypt \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50630\"\u003e#50630\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove the use of Optional from Data Neo4j repository examples \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50622\"\u003e#50622\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typos in documentation \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/50620\"\u003e#50620\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/ac2cfe03538b87a0dc9d2619ed52a4c901eaea54\"\u003e\u003ccode\u003eac2cfe0\u003c/code\u003e\u003c/a\u003e Release v4.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1a5815cf3183a0c9493cece8ba550a6e8b125d67\"\u003e\u003ccode\u003e1a5815c\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/a8364ff9c2a0ca88541cc153f032089e063b797c\"\u003e\u003ccode\u003ea8364ff\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/9755ff29e7ce3a8ac4574e5b452bdfe1053718b1\"\u003e\u003ccode\u003e9755ff2\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Batch 6.0.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/6a6dedc4354cbafadaf8aab2803fc3acd7e6b8de\"\u003e\u003ccode\u003e6a6dedc\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/db7b2b9fb0b3c623d707f2627f832b4dd5f2eb8c\"\u003e\u003ccode\u003edb7b2b9\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/d549d077c03add0421464fcd0248bd8b76b41973\"\u003e\u003ccode\u003ed549d07\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 7.0.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4d9e463dc3fefea2b73dcfbb15b4ced6b69dbaf9\"\u003e\u003ccode\u003e4d9e463\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x' into 4.0.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/b0686478a71cceb977dc1ff5b4e69ef5eb052fcf\"\u003e\u003ccode\u003eb068647\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Integration 6.5.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/198af995dc03a09583c61bcd0b8ffda341055feb\"\u003e\u003ccode\u003e198af99\u003c/code\u003e\u003c/a\u003e Merge branch '4.0.x'\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.14...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx.kover` from 0.9.1 to 0.9.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-kover/releases\"\u003eorg.jetbrains.kotlinx.kover's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.9.8\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/799\"\u003e\u003ccode\u003e[#799](https://github.com/Kotlin/kotlinx-kover/issues/799)\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/772\"\u003e\u003ccode\u003e[#772](https://github.com/Kotlin/kotlinx-kover/issues/772)\u003c/code\u003e\u003c/a\u003e Fixed Android multiplatform library support in case of the violation of the project isolation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eInternal features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated publish plugin and declare configuration cache compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/782\"\u003e\u003ccode\u003e[#782](https://github.com/Kotlin/kotlinx-kover/issues/782)\u003c/code\u003e\u003c/a\u003e Filled Implementation fields Vendor/Title/Version in MANIFEST.MF\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.7\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/747\"\u003e\u003ccode\u003e[#747](https://github.com/Kotlin/kotlinx-kover/issues/747)\u003c/code\u003e\u003c/a\u003e Fixed a recurring issue in support of Android KMP libraries\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.6\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/792\"\u003e\u003ccode\u003e[#792](https://github.com/Kotlin/kotlinx-kover/issues/792)\u003c/code\u003e\u003c/a\u003e Fixed support of Android 9 with hilt\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.5\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/784\"\u003e\u003ccode\u003e[#784](https://github.com/Kotlin/kotlinx-kover/issues/784)\u003c/code\u003e\u003c/a\u003e Fixed support of build variants in Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/785\"\u003e\u003ccode\u003e[#785](https://github.com/Kotlin/kotlinx-kover/issues/785)\u003c/code\u003e\u003c/a\u003e Fixed support of test task dependencies in Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.4\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/776\"\u003e\u003ccode\u003e[#776](https://github.com/Kotlin/kotlinx-kover/issues/776)\u003c/code\u003e\u003c/a\u003e Added support for Android Gradle Plugin 9.0.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.3\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/759\"\u003e\u003ccode\u003e[#759](https://github.com/Kotlin/kotlinx-kover/issues/759)\u003c/code\u003e\u003c/a\u003e Fixed locating of host tests for the multiplatform Android library\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/766\"\u003e\u003ccode\u003e[#766](https://github.com/Kotlin/kotlinx-kover/issues/766)\u003c/code\u003e\u003c/a\u003e Fixed support of KSP plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded Gradle version to \u003ccode\u003e9.1.0\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.9.2\u003c/h2\u003e\n\u003ch2\u003eKover Gradle Plugin\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/748\"\u003e\u003ccode\u003e[#748](https://github.com/Kotlin/kotlinx-kover/issues/748)\u003c/code\u003e\u003c/a\u003e Disable caching for KoverAgentJarTask\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-kover/issues/747\"\u003e\u003ccode\u003e[#747](https://github.com/Kotlin/kotlinx-kover/issues/747)\u003c/code\u003e\u003c/a\u003e Added support for KMP Android library plugin\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-kover/blob/main/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx.kover's changelog\u003c/a\u003e.\u003c/em\u003e...\n\n_Description has been truncated_","html_url":"https://github.com/ssa1004/commerce-ops/pull/85","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ssa1004%2Fcommerce-ops/issues/85","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/85/packages"}},{"old_version":"0.10.0","new_version":"1.0.0","update_type":"major","path":"/backend","pr_created_at":"2026-05-12T02:00:35.000Z","version_change":"0.10.0 → 1.0.0","issue":{"uuid":"4425612374","node_id":"PR_kwDOP5TXAM7aff4n","number":46,"state":"closed","title":"build(deps): Bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0 in /backend","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-02T18:01:56.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T02:00:35.000Z","updated_at":"2026-07-02T18:02:05.000Z","time_to_close":4464081,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":"/backend","ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.10.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nYou can trigger a rebase of this PR by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has been open for over 30 days.\n","html_url":"https://github.com/toastedcoffee/BottleVault/pull/46","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/toastedcoffee%2FBottleVault/issues/46","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/46/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-04-20T05:49:02.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"4293396075","node_id":"PR_kwDOJxpqaM7T1Mgh","number":470,"state":"open","title":"Bump the libs group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-20T05:49:02.000Z","updated_at":"2026-06-01T19:00:27.042Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":13,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.4.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| com.diffplug.spotless | `7.0.2` | `8.4.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.1` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._clos...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/470","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/470","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/470/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-04-09T09:54:52.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"4231246117","node_id":"PR_kwDOJxpqaM7RFh1O","number":467,"state":"closed","title":"Bump the libs group across 1 directory with 11 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-13T05:42:59.000Z","author_association":null,"state_reason":null,"created_at":"2026-04-09T09:54:52.000Z","updated_at":"2026-04-13T05:43:01.000Z","time_to_close":330487,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":11,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.4.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.3.3","new_version":"3.4.2","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.4.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.4.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.3.3` | `3.4.2` |\n| com.diffplug.spotless | `7.0.2` | `8.4.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.36.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/gradle/gradle/releases\"\u003egradle-wrapper's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.4.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava 26 support\u003c/li\u003e\n\u003cli\u003eNon-class-based JVM tests\u003c/li\u003e\n\u003cli\u003eEnhanced console progress bar\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.4.1/release-notes.html\"\u003eRead the Release Notes\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eWe would like to thank the following community members for their contributions to this release of Gradle:\n\u003ca href=\"https://github.com/akankshaa-00\"\u003eakankshaa-00\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/dblood\"\u003edblood\u003c/a\u003e,\n\u003ca href=\"https://github.com/drieks\"\u003eDennis Rieks\u003c/a\u003e,\n\u003ca href=\"https://github.com/duvvuvenkataramana\"\u003eduvvuvenkataramana\u003c/a\u003e,\n\u003ca href=\"https://github.com/wakingrufus\"\u003eJohn Burns\u003c/a\u003e,\n\u003ca href=\"https://github.com/Julianw03\"\u003eJulian\u003c/a\u003e,\n\u003ca href=\"https://github.com/kevinstembridge\"\u003ekevinstembridge\u003c/a\u003e,\n\u003ca href=\"https://github.com/NielsDoucet\"\u003eNiels Doucet\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rhernandez35\"\u003eRichard Hernandez\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/slovdahl\"\u003eSebastian Lövdahl\u003c/a\u003e,\n\u003ca href=\"https://github.com/stephan2405\"\u003estephan2405\u003c/a\u003e,\n\u003ca href=\"https://github.com/slandelle\"\u003eStephane Landelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Pankraz76\"\u003eVincent Potuček\u003c/a\u003e,\n\u003ca href=\"https://github.com/vlsi\"\u003eVladimir Sitnikov\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.4.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.4.1 \u0026amp;\u0026amp; ./gradlew wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/upgrading_version_9.html\"\u003e9.x upgrade guide\u003c/a\u003e to learn about deprecations, breaking changes and other considerations when upgrading.\u003c/p\u003e\n\u003cp\u003eFor Java, Groovy, Kotlin and Android compatibility, see the \u003ca href=\"https://docs.gradle.org/9.4.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d6327017519d23b96af35865dc997fcb544fb40\"\u003e\u003ccode\u003e2d63270\u003c/code\u003e\u003c/a\u003e Ignore test (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37180\"\u003e#37180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/4c15906d6a20acc61f2f7b9272c8cb7a6f708239\"\u003e\u003ccode\u003e4c15906\u003c/code\u003e\u003c/a\u003e Ignore test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9759ac1dec4b3742012397b5f0127a777947b73f\"\u003e\u003ccode\u003e9759ac1\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37178\"\u003e#37178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/aaf6ed46ed8d4c3b9b7a7a751cda5893668b2a42\"\u003e\u003ccode\u003eaaf6ed4\u003c/code\u003e\u003c/a\u003e Make console/SIGINT test deterministic\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/47cb78328a6ddc6c1509003ab3264017ed5d9a0a\"\u003e\u003ccode\u003e47cb783\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 progress bar not cleared on SIGINT (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37038\"\u003e#37038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ef03f1d41b0a65f6aae0931d4746f7359647a7e4\"\u003e\u003ccode\u003eef03f1d\u003c/code\u003e\u003c/a\u003e Fix order-dependent assertion in CrossBuildScriptCachingIntegrationSpec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/fd26fd36d693337dbf033143a9ac0e71f78a4209\"\u003e\u003ccode\u003efd26fd3\u003c/code\u003e\u003c/a\u003e Fix OSC 9;4 taskbar progress bar not cleared on build end or SIGINT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0a84d6751921709fbc7d552a50d9e3b34eb1930d\"\u003e\u003ccode\u003e0a84d67\u003c/code\u003e\u003c/a\u003e Release notes for 9.4.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37148\"\u003e#37148\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e569c31320ae6c7be490def60d36de17881f9957\"\u003e\u003ccode\u003ee569c31\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9f227defc2e02a991f05fba50f7de2fbe13b7c5b\"\u003e\u003ccode\u003e9f227de\u003c/code\u003e\u003c/a\u003e cleanup\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9289\"\u003eKTOR-9289\u003c/a\u003e OpenAPI: Resource routes  are missing inferred and comment-based documentation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9382\"\u003eKTOR-9382\u003c/a\u003e HttpProtocolVersion.parse: fast path for common versions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9381\"\u003eKTOR-9381\u003c/a\u003e GMTDate: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8971\"\u003eKTOR-8971\u003c/a\u003e Support \u0026quot;operationId\u0026quot; in Kdoc for OpenAPI spec. gen.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9333\"\u003eKTOR-9333\u003c/a\u003e WebSockets: Infinite spin and potential OOM vulnerabilities in the Inflater.inflateFully method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5616\"\u003eKTOR-5616\u003c/a\u003e Ktor always adds by default an Accept-Charset header\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9291\"\u003eKTOR-9291\u003c/a\u003e OpenAPI: handle atypical route functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9293\"\u003eKTOR-9293\u003c/a\u003e OpenAPI describe needs defaults\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9304\"\u003eKTOR-9304\u003c/a\u003e OpenAPI: Order of path parameters is not preserved in the spec\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9353\"\u003eKTOR-9353\u003c/a\u003e Routing: TailcardSelector missing toString(), which clutters the logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9281\"\u003eKTOR-9281\u003c/a\u003e OpenApi code inference misses lambda argument bodies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9273\"\u003eKTOR-9273\u003c/a\u003e OpenAPI static content path appears in resulting model\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9004\"\u003eKTOR-9004\u003c/a\u003e OpenAPI: No respective formats detected for serializable types like UUID or Instant\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9305\"\u003eKTOR-9305\u003c/a\u003e OpenAPI: \u0026quot;No mapping for symbol: VAR FOR_LOOP_VARIABLE\u0026quot; error with codeInferenceEnabled=true\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9279\"\u003eKTOR-9279\u003c/a\u003e OpenAPI: UnsupportedOperationException for a function with a reified type parameter codeInferenceEnabled = true\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/245774a09fdbc8881511c3bf413be9fcfbd37fd7\"\u003e\u003ccode\u003e245774a\u003c/code\u003e\u003c/a\u003e Release 3.4.2 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5493\"\u003e#5493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7c6c33aefcef9e552b1a7eb54a03498144da5517\"\u003e\u003ccode\u003e7c6c33a\u003c/code\u003e\u003c/a\u003e KTOR-9361 Fix JsWebSocketSession._closeReason completed twice (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5457\"\u003e#5457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/453e7391898abd3a94eb896341cba342daf868fa\"\u003e\u003ccode\u003e453e739\u003c/code\u003e\u003c/a\u003e KTOR-9437 Server. Add GraalVM metadata. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5491\"\u003e#5491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7146fd7e6e559c41af9c4bb4f775e1d6536696de\"\u003e\u003ccode\u003e7146fd7\u003c/code\u003e\u003c/a\u003e KTOR-9424 Log full URLs with OkHttp format (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5488\"\u003e#5488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/52b5981b03541bf039bb568db52d3bcdcb5be16f\"\u003e\u003ccode\u003e52b5981\u003c/code\u003e\u003c/a\u003e KTOR-8540 Fix IllegalStateException by creating a new instance of HttpClientC...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/12de7fbeef582177568b972d63b6d8a4476419b6\"\u003e\u003ccode\u003e12de7fb\u003c/code\u003e\u003c/a\u003e KTOR-9408 Update atomicfu with performance fix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/58837add970061f49495fae21d8154757ed02966\"\u003e\u003ccode\u003e58837ad\u003c/code\u003e\u003c/a\u003e KTOR-9419 Fix vulnerability in swagger endpoint\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/69e55cee87bb0f437e4b7889f960cc811511caae\"\u003e\u003ccode\u003e69e55ce\u003c/code\u003e\u003c/a\u003e Remove CurlWebSocketTests (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5483\"\u003e#5483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5dfbe51cac36f5984e4a77081c2d686403608954\"\u003e\u003ccode\u003e5dfbe51\u003c/code\u003e\u003c/a\u003e fixup! KTOR-9421 Track streaming responses separately to fix SSE blocking flu...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e784ed779e03220852c84e95496b5f67f892c021\"\u003e\u003ccode\u003ee784ed7\u003c/code\u003e\u003c/a\u003e fixup! Server. Update KDocs for  that may set status. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5233\"\u003e#5233\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.3...3.4.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.3.3 to 3.4.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/l...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/467","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/467","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/467/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-04-08T13:05:30.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"4224718249","node_id":"PR_kwDOGWIjw87Qz_MT","number":4021,"state":"open","title":"chore(deps): [WPB-9777] bump org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0","user":"dependabot[bot]","labels":["type: chore 🧹","👕 size: XS","dependencies","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-08T13:05:30.000Z","updated_at":"2026-04-09T08:36:20.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): [WPB-9777]","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.9.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/wireapp/kalium/pull/4021","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/wireapp%2Fkalium/issues/4021","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/4021/packages"}},{"old_version":"0.10.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-03-28T21:26:00.000Z","version_change":"0.10.0 → 1.0.0","issue":{"uuid":"4161707673","node_id":"PR_kwDORyzZEc7OUGU0","number":13,"state":"open","title":"Chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","automatic-merge","kotlin","major"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-03-28T21:26:00.000Z","updated_at":"2026-04-10T22:02:48.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n","html_url":"https://github.com/joergi/jukebox/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/joergi%2Fjukebox/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-03-16T23:36:46.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"4085352739","node_id":"PR_kwDOFyQuU87LEVLV","number":55,"state":"closed","title":"Bump the app-dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-04-28T02:11:00.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-16T23:36:46.000Z","updated_at":"2026-04-28T02:11:02.000Z","time_to_close":3638054,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"app-dependencies","update_count":33,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.11.1","new_version":"9.4.0"},{"name":"com.github.ben-manes:gradle-versions-plugin","old_version":"0.52.0","new_version":"0.53.0"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"app.cash.sqldelight:gradle-plugin","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:android-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:native-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:sqlite-driver","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"app.cash.sqldelight:coroutines-extensions","old_version":"2.0.2","new_version":"2.3.2","repository_url":"https://github.com/sqldelight/sqldelight"},{"name":"io.insert-koin:koin-android","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-compose","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-core","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-test","old_version":"4.0.2","new_version":"4.1.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"org.jetbrains.androidx.navigation:navigation-compose","old_version":"2.8.0-alpha12","new_version":"2.9.2","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose","old_version":"2.8.4","new_version":"2.9.6","repository_url":"https://github.com/JetBrains/compose-jb"},{"name":"androidx.compose.ui:ui-tooling","old_version":"1.7.7","new_version":"1.10.5"},{"name":"androidx.compose.ui:ui-tooling-preview","old_version":"1.7.7","new_version":"1.10.5"},{"name":"io.coil-kt.coil3:coil-compose","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"io.coil-kt.coil3:coil-network-ktor3","old_version":"3.1.0","new_version":"3.4.0","repository_url":"https://github.com/coil-kt/coil"},{"name":"androidx.appcompat:appcompat","old_version":"1.7.0","new_version":"1.7.1"},{"name":"com.google.android.material:material","old_version":"1.12.0","new_version":"1.13.0","repository_url":"https://github.com/material-components/material-components-android"},{"name":"androidx.activity:activity-compose","old_version":"1.10.0","new_version":"1.13.0"},{"name":"io.ktor:ktor-client-core","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-android","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-ios","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.0.3","new_version":"3.4.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"app.cash.turbine:turbine","old_version":"1.2.0","new_version":"1.2.1","repository_url":"https://github.com/cashapp/turbine"},{"name":"org.jetbrains.compose","old_version":"1.7.3","new_version":"1.10.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the app-dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| gradle-wrapper | `8.11.1` | `9.4.0` |\n| com.github.ben-manes:gradle-versions-plugin | `0.52.0` | `0.53.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [app.cash.sqldelight:gradle-plugin](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:android-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:native-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:sqlite-driver](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [app.cash.sqldelight:coroutines-extensions](https://github.com/sqldelight/sqldelight) | `2.0.2` | `2.3.2` |\n| [io.insert-koin:koin-android](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-compose](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-core](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [io.insert-koin:koin-test](https://github.com/InsertKoinIO/koin) | `4.0.2` | `4.1.1` |\n| [org.jetbrains.androidx.navigation:navigation-compose](https://github.com/JetBrains/compose-jb) | `2.8.0-alpha12` | `2.9.2` |\n| [org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose](https://github.com/JetBrains/compose-jb) | `2.8.4` | `2.9.6` |\n| androidx.compose.ui:ui-tooling | `1.7.7` | `1.10.5` |\n| androidx.compose.ui:ui-tooling-preview | `1.7.7` | `1.10.5` |\n| [io.coil-kt.coil3:coil-compose](https://github.com/coil-kt/coil) | `3.1.0` | `3.4.0` |\n| [io.coil-kt.coil3:coil-network-ktor3](https://github.com/coil-kt/coil) | `3.1.0` | `3.4.0` |\n| androidx.appcompat:appcompat | `1.7.0` | `1.7.1` |\n| [com.google.android.material:material](https://github.com/material-components/material-components-android) | `1.12.0` | `1.13.0` |\n| androidx.activity:activity-compose | `1.10.0` | `1.13.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-android](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-ios](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.0.3` | `3.4.1` |\n| [app.cash.turbine:turbine](https://github.com/cashapp/turbine) | `1.2.0` | `1.2.1` |\n| org.jetbrains.compose | `1.7.3` | `1.10.2` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.11.1 to 9.4.0\n\nUpdates `com.github.ben-manes:gradle-versions-plugin` from 0.52.0 to 0.53.0\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-gradle-plugin` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-formatting` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-formatting's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.gitlab.arturbosch.detekt:detekt-formatting` from 1.23.7 to 1.23.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/detekt/detekt/releases\"\u003eio.gitlab.arturbosch.detekt:detekt-formatting's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.23.8\u003c/h2\u003e\n\u003ch4\u003e1.23.8 - 2025-02-20\u003c/h4\u003e\n\u003cp\u003eThis is a point release for Detekt \u003ccode\u003e1.23.0\u003c/code\u003e, built against Kotlin \u003ccode\u003e2.0.21\u003c/code\u003e, with fixes for several bugs that got reported by the community.\u003c/p\u003e\n\u003ch5\u003eNotable Changes\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003efix(deps): Update kotlin to 2.0.21 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): Update AGP to v8.8.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7936\"\u003e#7879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix(deps): update Gradle to v8.12.1 - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7780\"\u003e#7780\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eChangelog\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eUseDataClass: do not report on \u003ccode\u003eexpect\u003c/code\u003e classes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7857\"\u003e#7857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix InjectDispatcher false positives - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7797\"\u003e#7797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[UnnecessaryParentheses] Allow float/double without integer part - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7751\"\u003e#7751\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eThrowingExceptionsWithoutMessageOrCause\u003c/code\u003e false positive - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7715\"\u003e#7715\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIssue \u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7634\"\u003e#7634\u003c/a\u003e: Make \u003ccode\u003eUndocumentedPublicClass\u003c/code\u003e configurable to flag `com… - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7635\"\u003e#7635\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix redundant empty tags in baseline XML - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/7625\"\u003e#7625\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMatchingDeclarationName now supports platofrm suffixes - \u003ca href=\"https://redirect.github.com/detekt/detekt/pull/6426\"\u003e#6426\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch5\u003eContributors\u003c/h5\u003e\n\u003cp\u003eWe would like to thank the following contributors that made this release possible: \u003ca href=\"https://github.com/BraisGabin\"\u003e\u003ccode\u003e@​BraisGabin\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/JordanLongstaff\"\u003e\u003ccode\u003e@​JordanLongstaff\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/Nava2\"\u003e\u003ccode\u003e@​Nava2\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/atulgpt\"\u003e\u003ccode\u003e@​atulgpt\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/lexa-diky\"\u003e\u003ccode\u003e@​lexa-diky\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/t-kameyama\"\u003e\u003ccode\u003e@​t-kameyama\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/046263730eb5368cb344489ac36543294e8e87bd\"\u003e\u003ccode\u003e0462637\u003c/code\u003e\u003c/a\u003e Prepare Release 1.23.8 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7976\"\u003e#7976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/42856f690cc0efe64bc827b7befac0ef452fce7c\"\u003e\u003ccode\u003e42856f6\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.12.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7780\"\u003e#7780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/8f354e6f38a2725aa433a6283ab073c36759ffe3\"\u003e\u003ccode\u003e8f354e6\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency com.android.tools.build:gradle to v8.8.1 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7936\"\u003e#7936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/435188c56df30531c0fdc2ba5cf5d1a98c0eda0b\"\u003e\u003ccode\u003e435188c\u003c/code\u003e\u003c/a\u003e [LOCAL] Bump upload-artifacts to v4 to unblock GHA\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a14719864ce80e1e94bc224ae2ea61c3e8a7a8c0\"\u003e\u003ccode\u003ea147198\u003c/code\u003e\u003c/a\u003e [UnnecessaryParentheses] Allow float/double without integer part (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7751\"\u003e#7751\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/66d5f2c6e13cf5f9aa65b956277dd251c9f4ae45\"\u003e\u003ccode\u003e66d5f2c\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak functionalTest after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/4487e613dfc9741969ed8c9dddf543ccdcd1d578\"\u003e\u003ccode\u003e4487e61\u003c/code\u003e\u003c/a\u003e [LOCAL] Unbreak warnings-as-errors after 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/b07d69774f1e54fb096115815bc1d82ea96ddaf6\"\u003e\u003ccode\u003eb07d697\u003c/code\u003e\u003c/a\u003e [LOCAL] Unblock build after Kotlin 2.0.21 bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/a6d0bd73f368bcdc1d607807038c810daff108bc\"\u003e\u003ccode\u003ea6d0bd7\u003c/code\u003e\u003c/a\u003e fix(deps): update kotlin to 2.0.21 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7580\"\u003e#7580\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/detekt/detekt/commit/ba843371d1f9cdf60abf894413747ea2a22181a2\"\u003e\u003ccode\u003eba84337\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency gradle to v8.10.2 (\u003ca href=\"https://redirect.github.com/detekt/detekt/issues/7668\"\u003e#7668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/detekt/detekt/compare/v1.23.7...v1.23.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:gradle-plugin` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.1\"\u003e2.3.1\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.0\"\u003e2.3.0\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.2.1\"\u003e2.2.1\u003c/a\u003e - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b4906d9afbb183fea3592c12e7459a7bf772b1e5\"\u003e\u003ccode\u003eb4906d9\u003c/code\u003e\u003c/a\u003e Prepare version 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b32610cbf15dab6eede7c51026002f4ec0df4078\"\u003e\u003ccode\u003eb32610c\u003c/code\u003e\u003c/a\u003e Update dependency org.xerial:sqlite-jdbc to v3.51.3.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7ccfef30506be1057ff1e455bc4e821af6904192\"\u003e\u003ccode\u003e7ccfef3\u003c/code\u003e\u003c/a\u003e Fix postgresql unique table constraint nullable (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/c9889f5838fb39a2c44859b78ed7ce29b95a1b10\"\u003e\u003ccode\u003ec9889f5\u003c/code\u003e\u003c/a\u003e Update plugin shadow to v9.4.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6173\"\u003e#6173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/1009cc1fbc718972dd943ffa13d9c80ab5209ab0\"\u003e\u003ccode\u003e1009cc1\u003c/code\u003e\u003c/a\u003e Update sqlPsi to v0.7.3 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6169\"\u003e#6169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/3da8e21e94b7b6afe98a7bb50c9ba56a243cbdf5\"\u003e\u003ccode\u003e3da8e21\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.1 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6168\"\u003e#6168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/32b06a9f1646edc69b357ca8192356cdf7726342\"\u003e\u003ccode\u003e32b06a9\u003c/code\u003e\u003c/a\u003e Update dependency androidx.paging:paging-common to v3.4.0-rc01 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/4d55239bab2dc44ea4d2c3d5f55ef59eea13ec3c\"\u003e\u003ccode\u003e4d55239\u003c/code\u003e\u003c/a\u003e Upgrade paging library (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7981477e63f3c58df97f87613c372ef6945e8924\"\u003e\u003ccode\u003e7981477\u003c/code\u003e\u003c/a\u003e Update publish plugin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/26571c05c681aa03cc49961a443122e00a6a38f1\"\u003e\u003ccode\u003e26571c0\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6160\"\u003e#6160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sqldelight/sqldelight/compare/2.0.2...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:android-driver` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:android-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:android-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.1\"\u003e2.3.1\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.0\"\u003e2.3.0\u003c/a\u003e - 2025-03-12\u003c/h2\u003e\n\u003cp\u003eFailed release. Use 2.3.2!\u003c/p\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.2.1\"\u003e2.2.1\u003c/a\u003e - 2025-11-13\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b4906d9afbb183fea3592c12e7459a7bf772b1e5\"\u003e\u003ccode\u003eb4906d9\u003c/code\u003e\u003c/a\u003e Prepare version 2.3.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/b32610cbf15dab6eede7c51026002f4ec0df4078\"\u003e\u003ccode\u003eb32610c\u003c/code\u003e\u003c/a\u003e Update dependency org.xerial:sqlite-jdbc to v3.51.3.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6177\"\u003e#6177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7ccfef30506be1057ff1e455bc4e821af6904192\"\u003e\u003ccode\u003e7ccfef3\u003c/code\u003e\u003c/a\u003e Fix postgresql unique table constraint nullable (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/c9889f5838fb39a2c44859b78ed7ce29b95a1b10\"\u003e\u003ccode\u003ec9889f5\u003c/code\u003e\u003c/a\u003e Update plugin shadow to v9.4.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6173\"\u003e#6173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/1009cc1fbc718972dd943ffa13d9c80ab5209ab0\"\u003e\u003ccode\u003e1009cc1\u003c/code\u003e\u003c/a\u003e Update sqlPsi to v0.7.3 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6169\"\u003e#6169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/3da8e21e94b7b6afe98a7bb50c9ba56a243cbdf5\"\u003e\u003ccode\u003e3da8e21\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.1 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6168\"\u003e#6168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/32b06a9f1646edc69b357ca8192356cdf7726342\"\u003e\u003ccode\u003e32b06a9\u003c/code\u003e\u003c/a\u003e Update dependency androidx.paging:paging-common to v3.4.0-rc01 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6090\"\u003e#6090\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/4d55239bab2dc44ea4d2c3d5f55ef59eea13ec3c\"\u003e\u003ccode\u003e4d55239\u003c/code\u003e\u003c/a\u003e Upgrade paging library (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/7981477e63f3c58df97f87613c372ef6945e8924\"\u003e\u003ccode\u003e7981477\u003c/code\u003e\u003c/a\u003e Update publish plugin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6161\"\u003e#6161\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/commit/26571c05c681aa03cc49961a443122e00a6a38f1\"\u003e\u003ccode\u003e26571c0\u003c/code\u003e\u003c/a\u003e Update plugin intellij to v2.13.0 (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6160\"\u003e#6160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/sqldelight/sqldelight/compare/2.0.2...2.3.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `app.cash.sqldelight:native-driver` from 2.0.2 to 2.3.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/releases\"\u003eapp.cash.sqldelight:native-driver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nVersions 2.3.0 and 2.3.1 were skipped due to publication issues.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​vanniktech\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Runtime] Added \u003ccode\u003eSuspendingTransacter.TransactionDispatcher\u003c/code\u003e that provides a mechanism for controlling the \u003ccode\u003eCoroutineContext\u003c/code\u003e of the transaction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5967\"\u003e#5967\u003c/a\u003e by \u003ca href=\"https://github.com/eygraber\"\u003e\u003ccode\u003e@​eygraber\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Full compatibility with Android Gradle Plugin 9.0's new DSL. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6140\"\u003e#6140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support PostgreSql CREATE TABLE storage parameters (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6148\"\u003e#6148\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix PostgreSql unique table constraint nullable result column (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6167\"\u003e#6167\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[Compiler] Change compiler output type from java.lang.Void to kotlin.Nothing (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6099\"\u003e#6099\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Allow for underscores in package names. Before underscores have been sanitized which resulted in unexpected behaviours (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6027\"\u003e#6027\u003c/a\u003e by \u003ca href=\"https://github.com/BierDav\"\u003e\u003ccode\u003e@​BierDav\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Switch to AndroidX Paging (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5910\"\u003e#5910\u003c/a\u003e by \u003ca href=\"https://github.com/jeffdgr8\"\u003e\u003ccode\u003e@​jeffdgr8\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Android Driver] Increase Android minSdk to 23. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6141\"\u003e#6141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Paging Extension] Upgrade to paging 3.4.1, and removed X64 apple targets. (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6166\"\u003e#6166\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[IntelliJ Plugin] Fix IDE freeze caused by blocking file type detection on the EDT during VFS refresh events.\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Fix Sqlite 3.38 compilation error when using Json path operators (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6070\"\u003e#6070\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Use String type for group_concat function when using custom column type (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6082\"\u003e#6082\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Improve performance of \u003ccode\u003eVerifyMigrationTask\u003c/code\u003e to stop it from hanging on complex schemas (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6073\"\u003e#6073\u003c/a\u003e by \u003ca href=\"https://github.com/Lightwood13\"\u003e\u003ccode\u003e@​Lightwood13\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Intellij Plugin] Fix Plugin initialization exceptions and update deprecated methods (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6040\"\u003e#6040\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix compatibility with Android Gradle Plugin's built-in Kotlin (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6139\"\u003e#6139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Fix Postgres numeric/integer/biginteger type mapping (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5994\"\u003e#5994\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Compiler] Improve the compiler error message to include source file location when a CAST is required (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5979\"\u003e#5979\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON operator path extraction (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5971\"\u003e#5971\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add Sqlite 3.35 support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for MATERIALIZED query planner hint using Common Table Expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5961\"\u003e#5961\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres JSON Aggregate FILTER (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5957\"\u003e#5957\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres Enums (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5935\"\u003e#5935\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add limited support for Postgres Triggers (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5932\"\u003e#5932\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add predicate to check whether SQL expression can be parsed as JSON (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5843\"\u003e#5843\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/sqldelight/sqldelight/blob/master/CHANGELOG.md\"\u003eapp.cash.sqldelight:native-driver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/sqldelight/sqldelight/releases/tag/2.3.2\"\u003e2.3.2\u003c/a\u003e - 2026-03-16\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[PostgreSQL Dialect] Improved support for ALTER TABLE ALTER TYPE USING expressions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6116\"\u003e#6116\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for DROP COLUMN IF EXISTS (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6112\"\u003e#6112\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Add expandSelectStar flag to switch off Select wildcard expansions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5813\"\u003e#5813\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[MySQL Dialect] Add support for Window Functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6086\"\u003e#6086\u003c/a\u003e by \u003ca href=\"https://github.com/griffio\"\u003e\u003ccode\u003e@​griffio\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Fix build failure when starting schema version is not 1 and verifyMigrations is true (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6017\"\u003e#6017\u003c/a\u003e by \u003ca href=\"https://github.com/neilgmiller\"\u003e\u003ccode\u003e@​neilgmiller\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[Gradle Plugin] Make \u003ccode\u003eSqlDelightWorkerTask\u003c/code\u003e more configurable, and update default configuration to support developing on Windows (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5215\"\u003e#5215\u003c/a\u003e by \u003ca href=\"https://github.com/MSDarwish2000\"\u003e\u003ccode\u003e@​MSDarwish2000\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[SQLite Dialect] Add support for synthesized columns in FTS5 virtual tables (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5986\"\u003e#5986\u003c/a\u003e by \u003ca href=\"https://github.com/watbe\"\u003e\u003ccode\u003e@​watbe\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Add support for Postgres row level security (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6087\"\u003e#6087\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Extended FOR UPDATE to support OF table, NO KEY UPDATE, NO WAIT (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/6104\"\u003e#6104\u003c/a\u003e by \u003ca href=\"https://github.com/shellderp\"\u003e\u003ccode\u003e@​shellderp\u003c/code\u003e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e[PostgreSQL Dialect] Support Postgis Point type and related functions (\u003ca href=\"https://redirect.github.com/sqldelight/sqldelight/issues/5602\"\u003e#5602\u003c/a\u003e by \u003ca href=\"https://github.com/vanniktech\"\u003e\u003ccode\u003e@​va...\n\n_Description has been truncated_","html_url":"https://github.com/OHoussein/CryptoApp/pull/55","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OHoussein%2FCryptoApp/issues/55","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/55/packages"}},{"old_version":"0.5.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-03-12T00:41:47.000Z","version_change":"0.5.0 → 1.0.0","issue":{"uuid":"4061437375","node_id":"PR_kwDOFNg7n87J35De","number":83,"state":"closed","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-12T01:37:30.000Z","author_association":null,"state_reason":null,"created_at":"2026-03-12T00:41:47.000Z","updated_at":"2026-03-12T01:37:32.000Z","time_to_close":3343,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.5.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.5.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/RealYusufIsmail-Mc-Mods/Ben-10-Mod/pull/83","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealYusufIsmail-Mc-Mods%2FBen-10-Mod/issues/83","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/83/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":"/MazeGame","pr_created_at":"2026-02-28T16:27:47.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"4004935055","node_id":"PR_kwDODjdpzc7HBUu4","number":2,"state":"closed","title":"chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0 in /MazeGame","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-03-01T11:46:47.000Z","author_association":null,"state_reason":null,"created_at":"2026-02-28T16:27:47.000Z","updated_at":"2026-03-01T11:46:55.000Z","time_to_close":69540,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0","repository_url":null}],"path":"/MazeGame","ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.9.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Aston13/Mazes/pull/2","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aston13%2FMazes/issues/2","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/2/packages"}},{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-26T17:45:12.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"3856970326","node_id":"PR_kwDOQ3eIBc6_atu8","number":5,"state":"open","title":"Bump the gradle-dependencies group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T17:45:12.000Z","updated_at":"2026-01-26T17:45:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-dependencies","update_count":4,"packages":[{"name":"jvm","old_version":"2.1.0","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.intellij.platform","old_version":"2.10.5","new_version":"2.11.0"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.14","new_version":"9.3.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 4 updates in the / directory: [jvm](https://github.com/JetBrains/kotlin), org.jetbrains.intellij.platform, org.gradle.toolchains.foojay-resolver-convention and gradle-wrapper.\n\nUpdates `jvm` from 2.1.0 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003ejvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003ejvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.intellij.platform` from 2.10.5 to 2.11.0\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.14 to 9.3.0\n\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/adamkorynta/intellij-gradle-properties-plugin/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/adamkorynta%2Fintellij-gradle-properties-plugin/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-26T05:51:58.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"3854605692","node_id":"PR_kwDOJxpqaM6_S_YC","number":444,"state":"open","title":"Bump the libs group across 1 directory with 15 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-26T05:51:58.000Z","updated_at":"2026-01-26T05:53:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":15,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"gradle-wrapper","old_version":"8.8","new_version":"9.3.0"},{"name":"com.google.crypto.tink:tink","old_version":"1.18.0","new_version":"1.20.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"io.ktor:ktor-client-core","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-serialization","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-java","old_version":"3.2.3","new_version":"3.4.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.18","new_version":"1.5.26","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.79","new_version":"1.83","repository_url":"https://github.com/bcgit/bc-java"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.2.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.34.0","new_version":"0.36.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.2.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 15 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| gradle-wrapper | `8.8` | `9.3.0` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.18.0` | `1.20.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-serialization](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-logging](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [io.ktor:ktor-client-java](https://github.com/ktorio/ktor) | `3.2.3` | `3.4.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.18` | `1.5.26` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.79` | `1.83` |\n| com.diffplug.spotless | `7.0.2` | `8.2.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.34.0` | `0.36.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.2.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.9.0 to 1.0.0\n\nUpdates `gradle-wrapper` from 8.8 to 9.3.0\n\nUpdates `com.google.crypto.tink:tink` from 1.18.0 to 1.20.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tink-crypto/tink-java/releases\"\u003ecom.google.crypto.tink:tink's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eTink Java v1.20.0\u003c/h2\u003e\n\u003cp\u003eTink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis is Tink Java 1.20.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe complete list of changes since 1.19.0 can be found \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.19.0...v1.20.0\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated the Protobuf dependency to 4.33.0.\u003c/li\u003e\n\u003cli\u003eImproved performance for creating JWT signature primitives.\u003c/li\u003e\n\u003cli\u003eDropped support for WORKSPACE Bazel files.\u003c/li\u003e\n\u003cli\u003eAllow using 32-byte keys in subtle AES-SIV primitive.\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/tink-crypto/tink-java/issues/63\"\u003etink-crypto/tink-java#63\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaven:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.crypto.tink\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;tink\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.20.0\u0026lt;/version\u0026gt;\n\u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eGradle:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003edependencies {\n  implementation 'com.google.crypto.tink:tink-android:1.20.0'\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eBazel:\u003c/h3\u003e\n\u003ch4\u003eUsing bzlmod\u003c/h4\u003e\n\u003cpre\u003e\u003ccode\u003ebazel_dep(name = \u0026quot;tink_java\u0026quot;)\n\u003cp\u003egit_override(\u003cbr /\u003e\nmodule_name = \u0026quot;tink_java\u0026quot;,\u003cbr /\u003e\nremote = \u0026quot;\u003ca href=\"https://github.com/tink-crypto/tink-java\"\u003ehttps://github.com/tink-crypto/tink-java\u003c/a\u003e\u0026quot;,\u003cbr /\u003e\ntag = \u0026quot;v1.20.0\u0026quot;,\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003ch2\u003eTink Java v1.19.0\u003c/h2\u003e\n\u003cp\u003eTink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eThis is Tink Java 1.19\u003c/strong\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/fe3e251f06de537d6ef60992a03507d4f7079894\"\u003e\u003ccode\u003efe3e251\u003c/code\u003e\u003c/a\u003e Tag version 1.20.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/efe61ad2619df2c4477208a65dcc3122788e42df\"\u003e\u003ccode\u003eefe61ad\u003c/code\u003e\u003c/a\u003e Move JwtNames.java to /jwt/internal/JwtNames.java\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/24509849df04766e9bf9b4dc475ddb7748cbf0bf\"\u003e\u003ccode\u003e2450984\u003c/code\u003e\u003c/a\u003e Move JsonUtil to com.google.crypto.tink.jwt.internal.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/493a645be00aba7ad23a8d151328ef2292d09592\"\u003e\u003ccode\u003e493a645\u003c/code\u003e\u003c/a\u003e Add createWithProvider to internal SLH-DSA primitives.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/71f2a9b333b59fef200924fa350db2479582354d\"\u003e\u003ccode\u003e71f2a9b\u003c/code\u003e\u003c/a\u003e Implement the LowLevelCryptoCaller annotation.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/d2312530a3436b067c475a296fe1764f36c761a8\"\u003e\u003ccode\u003ed231253\u003c/code\u003e\u003c/a\u003e Make SlhDsa available in SignatureConfigurationV1.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/47d37db78cd32545bbdbaac128cababdf5b2e143\"\u003e\u003ccode\u003e47d37db\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaSign/VerifyConscrypt to Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/067cd7a589254a68f84230ad61ddceb42417b15e\"\u003e\u003ccode\u003e067cd7a\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaProtoSerialization in Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/074bbfba5e8e56aea5f3e835bbfa0ea87eba9daf\"\u003e\u003ccode\u003e074bbfb\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaPrivateKeys to Tink Java.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/ab3558c99ca3b01aa683682070a5e9b7f4a7dd2b\"\u003e\u003ccode\u003eab3558c\u003c/code\u003e\u003c/a\u003e Introduce SlhDsaPublicKey to Tink Java.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.18.0...v1.20.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-serialization` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-serialization's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-serialization-kotlinx-json` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8657\"\u003eKTOR-8657\u003c/a\u003e Remove kotlinx-datetime from ktor-server-default-headers dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8941\"\u003eKTOR-8941\u003c/a\u003e Add override DI conflict policy\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bf25bb96eab570d1983279ef81c255bb1c489964\"\u003e\u003ccode\u003ebf25bb9\u003c/code\u003e\u003c/a\u003e Release 3.4.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5325\"\u003e#5325\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1178f8adaad3389d00365056b6f800e7dcb38233\"\u003e\u003ccode\u003e1178f8a\u003c/code\u003e\u003c/a\u003e Update \u0026quot;Report a problem\u0026quot; links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5322\"\u003e#5322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f99d0afcdc4b55b8b85855fd44dd7a1df6a511a4\"\u003e\u003ccode\u003ef99d0af\u003c/code\u003e\u003c/a\u003e KTOR-9258 Add headers member function to DefaultRequestBuilder to prevent sil...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/7452420e60568870b61345cf0db70090190aeafd\"\u003e\u003ccode\u003e7452420\u003c/code\u003e\u003c/a\u003e Yaml config. Resolve references only once. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5320\"\u003e#5320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3798824ee5e0326c490663f2c7f77a962f7f9f3c\"\u003e\u003ccode\u003e3798824\u003c/code\u003e\u003c/a\u003e WebSockets. Added frame queues backpressure configuration. (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5274\"\u003e#5274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/761eeac7f4f69808294bf1df223624e6eabacba6\"\u003e\u003ccode\u003e761eeac\u003c/code\u003e\u003c/a\u003e KTOR-9235: Ignore exceptions when parsing cookie expires date (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5288\"\u003e#5288\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/b8817e5f8ad6c13c2309bdccf9d2e6d2d58043df\"\u003e\u003ccode\u003eb8817e5\u003c/code\u003e\u003c/a\u003e KTOR-9210 Migrate Zstd into standalone module (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5318\"\u003e#5318\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f5e2864ebda6522cb6e56dd41c14c5bed6e802cc\"\u003e\u003ccode\u003ef5e2864\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5316\"\u003e#5316\u003c/a\u003e from ktorio/zibet27/fix-auth-binary-compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cbcdc395bb6db36457ba6712ddfeceb6d6e61b29\"\u003e\u003ccode\u003ecbcdc39\u003c/code\u003e\u003c/a\u003e Auth. Fix binary compatibility.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/95a77341e52497eff9a64dfcf99f0cd66e5de2fd\"\u003e\u003ccode\u003e95a7734\u003c/code\u003e\u003c/a\u003e Fix RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY_AND_IMPLICIT_TYPE\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.2.3...3.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-mock` from 3.2.3 to 3.4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-mock's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 January 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8316\"\u003eKTOR-8316\u003c/a\u003e Support OpenAPI specification for the Ktor Client and Server Application\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9085\"\u003eKTOR-9085\u003c/a\u003e Read OpenAPI security details from authentication plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8993\"\u003eKTOR-8993\u003c/a\u003e Use runtime-generated spec for OpenAPI / Swagger plugins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9086\"\u003eKTOR-9086\u003c/a\u003e Read OpenAPI default content type information from ContentNegotiation plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8859\"\u003eKTOR-8859\u003c/a\u003e Routing documentation compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8936\"\u003eKTOR-8936\u003c/a\u003e Routing documentation runtime API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9087\"\u003eKTOR-9087\u003c/a\u003e Generate JSON schema for type references when using Jackson and Gson\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7075\"\u003eKTOR-7075\u003c/a\u003e Zstd support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9209\"\u003eKTOR-9209\u003c/a\u003e Support Jackson 3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9198\"\u003eKTOR-9198\u003c/a\u003e Auth/Bearer: Make BearerAuthProvider detect disguised Bearer scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8927\"\u003eKTOR-8927\u003c/a\u003e Support for \u003ccode\u003erespondResource\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9162\"\u003eKTOR-9162\u003c/a\u003e Auth API key plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7882\"\u003eKTOR-7882\u003c/a\u003e Support HTTP QUERY method\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8195\"\u003eKTOR-8195\u003c/a\u003e Partial HTML response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8985\"\u003eKTOR-8985\u003c/a\u003e EngineMain: Support reading trust store settings from the configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9066\"\u003eKTOR-9066\u003c/a\u003e Add duplex streaming for OkHttpClient\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8180\"\u003eKTOR-8180\u003c/a\u003e Auth: Provide control over tokens to user code\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8273\"\u003eKTOR-8273\u003c/a\u003e iOS native interop for WebRTC client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8956\"\u003eKTOR-8956\u003c/a\u003e DI: Allow file configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9157\"\u003eKTOR-9157\u003c/a\u003e Support SIGINT on web and SIGTERM on Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8890\"\u003eKTOR-8890\u003c/a\u003e Rename target jsAndWasmShared to web\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9242\"\u003eKTOR-9242\u003c/a\u003e Upgrade to Kotlin 2.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9243\"\u003eKTOR-9243\u003c/a\u003e Update libcurl to 8.18.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9014\"\u003eKTOR-9014\u003c/a\u003e Deprecate DarwinLegacy engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8931\"\u003eKTOR-8931\u003c/a\u003e Test iOS target of the WebRTC Client in Ktor-Chat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9199\"\u003eKTOR-9199\u003c/a\u003e Make HttpHeaders strings const\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9208\"\u003eKTOR-9208\u003c/a\u003e Expose plusIsSpace in parseUrlEncodedParameters\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-2404\"\u003eKTOR-2404\u003c/a\u003e Ktor Oauth2 feature sends 401 response when the client secret is invalid\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9097\"\u003eKTOR-9097\u003c/a\u003e Java: Use HTTP/2 by default\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8740\"\u003eKTOR-8740\u003c/a\u003e HTMX: Missing DSL for some attributes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9171\"\u003eKTOR-9171\u003c/a\u003e Redesign  ByteReadChannel.readUTF8Line API\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-4219\"\u003eKTOR-4219\u003c/a\u003e Make readUTF8LineTo return number of read symbols instead of boolean\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6761\"\u003eKTOR-6761\u003c/a\u003e Apache5: Simplify configuration of ConnectionManager\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9037\"\u003eKTOR-9037\u003c/a\u003e Multipart/form-data: Make \u003ccode\u003eformData\u003c/code\u003e's block inline\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9126\"\u003eKTOR-9126\u003c/a\u003e Missing function ByteReadChannel.readTo(sink: RawSink, byteCount: Long)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9026\"\u003eKTOR-9026\u003c/a\u003e Introduce/reuse interfaces for logging selectors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-6766\"\u003eKTOR-6766\u003c/a\u003e Deprecate Apache 4 engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8642\"\u003eKTOR-8642\u003c/a\u003e Excessive memory allocations while writing bytes into write channel of TCP/IP socket\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9137\"\u003eKTOR-9137\u003c/a\u003e ByteReadChannel.readUTF8Line is inefficient for long lines\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt/pull/444","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-sdjwt-kt/issues/444","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/444/packages"}},{"old_version":"0.10.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-19T05:23:30.000Z","version_change":"0.10.0 → 1.0.0","issue":{"uuid":"3828051156","node_id":"PR_kwDOOoBoeM697AA8","number":233,"state":"open","title":"chore(deps): bump the all-gradle group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-19T05:23:30.000Z","updated_at":"2026-01-19T05:27:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-gradle","update_count":54,"packages":[{"name":"com.gradle.develocity","old_version":"3.18.1","new_version":"4.3.1"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"1.9.20","new_version":"2.1.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"org.jetbrains.kotlinx:kover-gradle-plugin","old_version":"0.8.3","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"me.paulschwarz:spring-dotenv","old_version":"4.0.0","new_version":"5.1.0","repository_url":"https://github.com/paulschwarz/spring-dotenv"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.3","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-ui","old_version":"2.6.0","new_version":"3.0.1","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-api","old_version":"2.6.0","new_version":"3.0.1","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springframework.boot:spring-boot-starter-webflux","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-aop","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-data-r2dbc","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-oauth2-resource-server","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-security","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.0","new_version":"26.0.8","repository_url":"https://github.com/keycloak/keycloak-client"},{"name":"org.springframework.security:spring-security-core","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-client","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-jose","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.18.0","new_version":"2.21.0"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.0","new_version":"2.21.0","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"io.projectreactor.kotlin:reactor-kotlin-extensions","old_version":"1.2.3","new_version":"1.3.0","repository_url":"https://github.com/reactor/reactor-kotlin-extensions"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-reactor","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.apache.commons:commons-text","old_version":"1.12.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.jsoup:jsoup","old_version":"1.18.1","new_version":"1.22.1","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.11.2","new_version":"6.0.2","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.security:spring-security-test","old_version":"6.3.3","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"io.projectreactor:reactor-test","old_version":"3.6.10","new_version":"3.8.2","repository_url":"https://github.com/reactor/reactor-core"},{"name":"io.cucumber:cucumber-java","old_version":"7.20.0","new_version":"7.33.0","repository_url":"https://github.com/cucumber/cucumber-jvm"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"net.datafaker:datafaker","old_version":"2.4.0","new_version":"2.5.3","repository_url":"https://github.com/datafaker-net/datafaker"},{"name":"org.assertj:assertj-core","old_version":"3.26.3","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"io.kotest:kotest-assertions-core-jvm","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-json","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"org.testcontainers:testcontainers","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.dasniko:testcontainers-keycloak","old_version":"3.4.0","new_version":"4.1.1","repository_url":"https://github.com/dasniko/testcontainers-keycloak"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.6","new_version":"0.13.0"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.gorylenko.gradle-git-properties","old_version":"2.4.2","new_version":"2.5.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-gradle group with 54 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.gradle.develocity | `3.18.1` | `4.3.1` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.10.0` | `1.0.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `1.9.20` | `2.1.0` |\n| [org.jetbrains.kotlinx:kover-gradle-plugin](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.4` |\n| [me.paulschwarz:spring-dotenv](https://github.com/paulschwarz/spring-dotenv) | `4.0.0` | `5.1.0` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.1` |\n| [org.springdoc:springdoc-openapi-starter-webflux-api](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.1` |\n| [org.springframework.boot:spring-boot-starter-webflux](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-data-r2dbc](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-oauth2-resource-server](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.0` | `26.0.8` |\n| [org.springframework.security:spring-security-core](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-client](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-jose](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.18.0` | `2.21.0` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.18.0` | `2.21.0` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.18.0` | `2.21.0` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.0` | `2.21.0` |\n| [io.projectreactor.kotlin:reactor-kotlin-extensions](https://github.com/reactor/reactor-kotlin-extensions) | `1.2.3` | `1.3.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-reactor](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.12.0` | `1.15.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.1` | `1.22.1` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.11.2` | `6.0.2` |\n| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.3.3` | `7.0.2` |\n| [io.projectreactor:reactor-test](https://github.com/reactor/reactor-core) | `3.6.10` | `3.8.2` |\n| [io.cucumber:cucumber-java](https://github.com/cucumber/cucumber-jvm) | `7.20.0` | `7.33.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.7` |\n| [net.datafaker:datafaker](https://github.com/datafaker-net/datafaker) | `2.4.0` | `2.5.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.26.3` | `3.27.6` |\n| [io.kotest:kotest-assertions-core-jvm](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-assertions-json](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [com.github.dasniko:testcontainers-keycloak](https://github.com/dasniko/testcontainers-keycloak) | `3.4.0` | `4.1.1` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.6` | `0.13.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| com.gorylenko.gradle-git-properties | `2.4.2` | `2.5.4` |\n\n\nUpdates `com.gradle.develocity` from 3.18.1 to 4.3.1\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.10.0 to 1.0.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.spring` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.dokka:dokka-gradle-plugin` from 1.9.20 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/dokka/releases\"\u003eorg.jetbrains.dokka:dokka-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDokka Gradle Plugin v2 is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eK2 Analysis is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eSupport for \u003cstrong\u003eContext parameters\u003c/strong\u003e and \u003cstrong\u003eNested typealiases\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eHTML format refinement: better \u003cstrong\u003eaccessibility\u003c/strong\u003e and consistency across all components\u003c/li\u003e\n\u003cli\u003eMultiple \u003cstrong\u003eperformance\u003c/strong\u003e and compatibility improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMore details about each of the changes below. See \u003ca href=\"https://github.com/Kotlin/dokka/milestone/32?closed=1\"\u003eDokka 2.1.0\u003c/a\u003e milestone for the list of all changes.\u003c/p\u003e\n\u003ch2\u003eDokka's Gradle plugin v2 is enabled by default!\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://kotl.in/dokka-gradle-migration\"\u003emigration guide\u003c/a\u003e for the update procedure\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Kotlin/dokka/releases/tag/v2.0.0\"\u003eDokka 2.0.0\u003c/a\u003e introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4133\"\u003eenabled by default\u003c/a\u003e!\u003c/strong\u003e\nAs a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4135\"\u003edeprecated\u003c/a\u003e and will be removed in future releases.\nRunning Gradle tasks related to Dokka Gradle plugin v1 \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4187\"\u003ewill result in an error\u003c/a\u003e during execution.\u003c/p\u003e\n\u003cp\u003eStarting from this release, the minimum supported Gradle version is 7.6.3.\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Gradle Properties types to be non-nullable (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4136\"\u003eKotlin/dokka#4136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate displayName convention for DokkaSourceSets (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4142\"\u003eKotlin/dokka#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate olderVersionsDir to be an optional input. (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4155\"\u003eKotlin/dokka#4155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd lifecycle tasks for generating formats (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4141\"\u003eKotlin/dokka#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse project name as default \u003ccode\u003emodulePath\u003c/code\u003e for root project to avoid clashing outputs during aggregation (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4158\"\u003eKotlin/dokka#4158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Dokka debug config file from task outputs (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/3961\"\u003eKotlin/dokka#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove V2EnabledWithHelpers warning \u0026amp; info message (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4206\"\u003eKotlin/dokka#4206\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDokka's K2 analysis is enabled by default!\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0fixes the most problematic issues with K2 analysis and makes it \u003cstrong\u003eenabled by default!\u003c/strong\u003e\nIn addition to this, Dokka 2.1.0with K2 analysis introduces support for \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4080\"\u003econtext parameters\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4261\"\u003enested typealiases\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDokka's K2 analysis leverages Kotlin's K2 compiler frontend for analysing code and uses the same shared Analysis API, which is used in IntelliJ IDEA’s K2 mode.\nThe output with K2 analysis should mostly match that of K1 analysis, but there may be minor differences.\u003c/p\u003e\n\u003cp\u003eIf you previously opted in to Dokka's K2 analysis, \u003cstrong\u003eremove\u003c/strong\u003e \u003ccode\u003eorg.jetbrains.dokka.experimental.tryK2\u003c/code\u003e from your project's \u003ccode\u003egradle.properties\u003c/code\u003e file.\nDokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.\nWe would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix merging of implicit expect/actual with a single declaration (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4016\"\u003eKotlin/dokka#4016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Wasm platform fully (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4123\"\u003eKotlin/dokka#4123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eoverride\u003c/code\u003e modifier for generic functions (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4126\"\u003eKotlin/dokka#4126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a receiver to accessor DRI (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4122\"\u003eKotlin/dokka#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix param tag for type parameter on implicit primary constructor (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4154\"\u003eKotlin/dokka#4154\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/905286d0d31f143bf0627656db1f14ea56fa42d3\"\u003e\u003ccode\u003e905286d\u003c/code\u003e\u003c/a\u003e Update Dokka version references to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4297\"\u003e#4297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/a3376d195a2cff7e86ba71299c2c2b6a784add05\"\u003e\u003ccode\u003ea3376d1\u003c/code\u003e\u003c/a\u003e Update the version for the 2.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/cbba0c9feda8bcfaa0f52602f61c4a97524f3493\"\u003e\u003ccode\u003ecbba0c9\u003c/code\u003e\u003c/a\u003e fix: spacing in html output (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4292\"\u003e#4292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/16eac5971db36b26f9213df7a54175122ae4f11e\"\u003e\u003ccode\u003e16eac59\u003c/code\u003e\u003c/a\u003e Support for nested typealiases (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/c...\n\n_Description has been truncated_","html_url":"https://github.com/dallay/hatchgrid/pull/233","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dallay%2Fhatchgrid/issues/233","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/233/packages"}},{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-16T12:55:38.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"3821925520","node_id":"PR_kwDOQuYdus69nOeF","number":5,"state":"open","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-16T12:55:38.000Z","updated_at":"2026-01-16T13:02:28.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/aalsanie/shamash/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/aalsanie%2Fshamash/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-13T22:27:04.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"3810826876","node_id":"PR_kwDOQBDOvc69CMwU","number":33,"state":"open","title":"build(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-01-13T22:27:04.000Z","updated_at":"2026-01-13T22:27:30.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e\n\u003c!-- ELLIPSIS_HIDDEN --\u003e\n\n----\n\n\u003e [!IMPORTANT]\n\u003e Bumps `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0 in `settings.gradle`.\n\u003e \n\u003e   - **Dependency Update**:\n\u003e     - Bumps `org.gradle.toolchains.foojay-resolver-convention` from version `0.8.0` to `1.0.0` in `settings.gradle`.\n\u003e \n\u003e \u003csup\u003eThis description was created by \u003c/sup\u003e[\u003cimg alt=\"Ellipsis\" src=\"https://img.shields.io/badge/Ellipsis-blue?color=175173\"\u003e](https://www.ellipsis.dev?ref=sheepdestroyer%2Fmaterialistic\u0026utm_source=github\u0026utm_medium=referral)\u003csup\u003e for ab8d9e76bd81686d8e7d255d346995942adc911a. You can [customize](https://app.ellipsis.dev/sheepdestroyer/settings/summaries) this summary. It will automatically update as commits are pushed.\u003c/sup\u003e\n\n\u003c!-- ELLIPSIS_HIDDEN --\u003e","html_url":"https://github.com/sheepdestroyer/materialistic/pull/33","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sheepdestroyer%2Fmaterialistic/issues/33","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/33/packages"}},{"old_version":"0.9.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2026-01-06T17:33:43.000Z","version_change":"0.9.0 → 1.0.0","issue":{"uuid":"3785937068","node_id":"PR_kwDOQ0tiHs67w1g5","number":3,"state":"closed","title":"Bump the libs group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-27T05:54:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-01-06T17:33:43.000Z","updated_at":"2026-01-27T05:54:44.000Z","time_to_close":1772460,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":28,"packages":[{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.6.2","new_version":"0.7.1-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.1","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"com.nimbusds:oauth2-oidc-sdk","old_version":"11.23.1","new_version":"11.31"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.80","new_version":"1.83","repository_url":"https://github.com/bcgit/bc-java"},{"name":"io.arrow-kt:arrow-core","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-fx-coroutines","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-core-serialization","old_version":"2.0.1","new_version":"2.2.1.1","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"org.webjars:swagger-ui","old_version":"5.20.1","new_version":"5.31.0","repository_url":"https://github.com/swagger-api/swagger-ui"},{"name":"eu.europa.ec.eudi:eudi-lib-jvm-sdjwt-kt","old_version":"0.14.3","new_version":"0.17.2","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt"},{"name":"io.ktor:ktor-client-apache","old_version":"3.1.1","new_version":"3.3.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"com.google.crypto.tink:tink","old_version":"1.17.0","new_version":"1.20.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"eu.europa.ec.eudi:eudi-lib-kmp-statium","old_version":"0.2.1","new_version":"0.4.0","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium"},{"name":"com.google.zxing:javase","old_version":"3.5.3","new_version":"3.5.4","repository_url":"https://github.com/zxing/zxing"},{"name":"com.eygraber:uri-kmp","old_version":"0.0.19","new_version":"0.0.21","repository_url":"https://github.com/eygraber/uri-kmp"},{"name":"eu.europa.ec.joinup.sd-dss:dss-service","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-validation","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-tsl-validation","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"eu.europa.ec.joinup.sd-dss:dss-utils-apache-commons","old_version":"6.2","new_version":"6.3","repository_url":"https://github.com/esig/dss"},{"name":"com.networknt:json-schema-validator","old_version":"1.5.7","new_version":"3.0.0","repository_url":"https://github.com/networknt/json-schema-validator"},{"name":"com.sksamuel.aedile:aedile-core","old_version":"2.1.2","new_version":"3.0.2","repository_url":"https://github.com/sksamuel/aedile"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.9.0","new_version":"1.0.0"},{"name":"org.springframework.boot","old_version":"3.4.6","new_version":"4.0.1","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.1.0"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.0.21","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.1.9"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.1","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.6.2` | `0.7.1-0.6.x-compat` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.1` | `1.10.2` |\n| [com.nimbusds:oauth2-oidc-sdk](https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions) | `11.23.1` | `11.31` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.80` | `1.83` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [io.arrow-kt:arrow-fx-coroutines](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [io.arrow-kt:arrow-core-serialization](https://github.com/arrow-kt/arrow) | `2.0.1` | `2.2.1.1` |\n| [org.webjars:swagger-ui](https://github.com/swagger-api/swagger-ui) | `5.20.1` | `5.31.0` |\n| [eu.europa.ec.eudi:eudi-lib-jvm-sdjwt-kt](https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-sdjwt-kt) | `0.14.3` | `0.17.2` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.1.1` | `3.3.3` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.17.0` | `1.20.0` |\n| [eu.europa.ec.eudi:eudi-lib-kmp-statium](https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-statium) | `0.2.1` | `0.4.0` |\n| [com.google.zxing:javase](https://github.com/zxing/zxing) | `3.5.3` | `3.5.4` |\n| [com.eygraber:uri-kmp](https://github.com/eygraber/uri-kmp) | `0.0.19` | `0.0.21` |\n| [eu.europa.ec.joinup.sd-dss:dss-service](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-validation](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-tsl-validation](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [eu.europa.ec.joinup.sd-dss:dss-utils-apache-commons](https://github.com/esig/dss) | `6.2` | `6.3` |\n| [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) | `1.5.7` | `3.0.0` |\n| [com.sksamuel.aedile:aedile-core](https://github.com/sksamuel/aedile) | `2.1.2` | `3.0.2` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.9.0` | `1.0.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.6` | `4.0.1` |\n| com.diffplug.spotless | `7.0.2` | `8.1.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.0.21` | `2.3.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.1.9` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.1` | `0.9.4` |\n\n\nUpdates `org.jetbrains.kotlinx:kotlinx-datetime` from 0.6.2 to 0.7.1-0.6.x-compat\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev0.7.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e in favor of \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/506\"\u003e#506\u003c/a\u003e). See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\u003c/a\u003e for a description of what to do if this causes problems.\u003c/li\u003e\n\u003cli\u003eUnify the range of admissible \u003ccode\u003eLocalDate\u003c/code\u003e and \u003ccode\u003eLocalDateTime\u003c/code\u003e values on all platforms (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/432\"\u003e#432\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003edayOfMonth\u003c/code\u003e to \u003ccode\u003eday\u003c/code\u003e, \u003ccode\u003emonthNumber\u003c/code\u003e to \u003ccode\u003emonth\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/84\"\u003e#84\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDayOfWeek\u003c/code\u003e and \u003ccode\u003eMonth\u003c/code\u003e no longer type aliases to \u003ccode\u003ejava.time.DayOfWeek\u003c/code\u003e and \u003ccode\u003ejava.time.Month\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/96\"\u003e#96\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e\u0026quot;UTC\u0026quot;\u003c/code\u003e and not \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e be the timezone identifier for \u003ccode\u003eTimeZone.UTC\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/474\"\u003e#474\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003e\u0026quot;z\u0026quot;\u003c/code\u003e in \u003ccode\u003eTimeZone.of\u003c/code\u003e, with the same meaning as \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/529\"\u003e#529\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eDateTimeFormat\u003c/code\u003e-based \u003ccode\u003eKSerializer\u003c/code\u003e implementations for datetime entities, and change the default serializers to be based on \u003ccode\u003etoString\u003c/code\u003e/\u003ccode\u003eparse\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/415\"\u003e#415\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ejava.io.Serializable\u003c/code\u003e implementations for most of the entities in the library (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/143\"\u003e#143\u003c/a\u003e). Thanks for spotting and fixing a potential vulnerability, \u003ca href=\"https://github.com/lukellmann\"\u003e\u003ccode\u003e@​lukellmann\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLocalDateRange\u003c/code\u003e, a range of \u003ccode\u003eLocalDate\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/190\"\u003e#190\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/PeterAttardo\"\u003e\u003ccode\u003e@​PeterAttardo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eYearMonth\u003c/code\u003e and \u003ccode\u003eYearMonthRange\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/168\"\u003e#457\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport obtaining the system timezone on old Debian-based distributions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/430\"\u003e#430\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix not being able to parse some valid timezone identifiers using the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/444\"\u003e#444\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse the grammar defined in RFC 9557 for parsing timezone identifiers in the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive, allowing parsing values not present in the timezone database (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/531\"\u003e#531\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved error messages when formatting an invalid \u003ccode\u003eDateTimeComponents\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/471\"\u003e#471\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet the JPMS dependency on \u003ccode\u003ekotlinx.serialization.core\u003c/code\u003e to be optional (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/496\"\u003e#496\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCHANGELOG\u003c/h1\u003e\n\u003ch2\u003e0.7.1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e type aliases to, respectively, \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e and \u003ccode\u003ekotlin.time.Clock\u003c/code\u003e to make migration more convenient.\u003c/li\u003e\n\u003cli\u003eAdd a fallback timezone database implementation for Darwin that uses the Foundation framework if the timezone database is unavailable on the filesystem (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/485\"\u003e#485\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRestore binary compatibility in string format definitions utilizing dates on the JVM (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/545\"\u003e#545\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.7.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eRemove \u003ccode\u003ekotlinx.datetime.Instant\u003c/code\u003e and \u003ccode\u003ekotlinx.datetime.Clock\u003c/code\u003e in favor of \u003ccode\u003ekotlin.time.Instant\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/506\"\u003e#506\u003c/a\u003e). See \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime?tab=readme-ov-file#deprecation-of-instant\u003c/a\u003e for a description of what to do if this causes problems.\u003c/li\u003e\n\u003cli\u003eUnify the range of admissible \u003ccode\u003eLocalDate\u003c/code\u003e and \u003ccode\u003eLocalDateTime\u003c/code\u003e values on all platforms (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/432\"\u003e#432\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003edayOfMonth\u003c/code\u003e to \u003ccode\u003eday\u003c/code\u003e, \u003ccode\u003emonthNumber\u003c/code\u003e to \u003ccode\u003emonth\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/84\"\u003e#84\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eDayOfWeek\u003c/code\u003e and \u003ccode\u003eMonth\u003c/code\u003e no longer type aliases to \u003ccode\u003ejava.time.DayOfWeek\u003c/code\u003e and \u003ccode\u003ejava.time.Month\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/96\"\u003e#96\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e\u0026quot;UTC\u0026quot;\u003c/code\u003e and not \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e be the timezone identifier for \u003ccode\u003eTimeZone.UTC\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/474\"\u003e#474\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAccept \u003ccode\u003e\u0026quot;z\u0026quot;\u003c/code\u003e in \u003ccode\u003eTimeZone.of\u003c/code\u003e, with the same meaning as \u003ccode\u003e\u0026quot;Z\u0026quot;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/529\"\u003e#529\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eDateTimeFormat\u003c/code\u003e-based \u003ccode\u003eKSerializer\u003c/code\u003e implementations for datetime entities, and change the default serializers to be based on \u003ccode\u003etoString\u003c/code\u003e/\u003ccode\u003eparse\u003c/code\u003e pairs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/415\"\u003e#415\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003ejava.io.Serializable\u003c/code\u003e implementations for most of the entities in the library (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/143\"\u003e#143\u003c/a\u003e). Thanks for spotting and fixing a potential vulnerability, \u003ca href=\"https://github.com/lukellmann\"\u003e\u003ccode\u003e@​lukellmann\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eLocalDateRange\u003c/code\u003e, a range of \u003ccode\u003eLocalDate\u003c/code\u003e values (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/190\"\u003e#190\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/PeterAttardo\"\u003e\u003ccode\u003e@​PeterAttardo\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eYearMonth\u003c/code\u003e and \u003ccode\u003eYearMonthRange\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/168\"\u003e#457\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eSupport obtaining the system timezone on old Debian-based distributions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/430\"\u003e#430\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFix not being able to parse some valid timezone identifiers using the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/444\"\u003e#444\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eUse the grammar defined in RFC 9557 for parsing timezone identifiers in the \u003ccode\u003etimeZoneId()\u003c/code\u003e directive, allowing parsing values not present in the timezone database (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/531\"\u003e#531\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved error messages when formatting an invalid \u003ccode\u003eDateTimeComponents\u003c/code\u003e value (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/471\"\u003e#471\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSet the JPMS dependency on \u003ccode\u003ekotlinx.serialization.core\u003c/code\u003e to be optional (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/496\"\u003e#496\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/1d73c7ba1bbb5d010351589cec9639f414eee9cc\"\u003e\u003ccode\u003e1d73c7b\u003c/code\u003e\u003c/a\u003e The compatibility artifact for 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/15794e97ddc0c410dea73c3ae0bf59c0ff156466\"\u003e\u003ccode\u003e15794e9\u003c/code\u003e\u003c/a\u003e Version 0.7.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/aebfd4824b536c2b2b5824735e6e62840c41aab0\"\u003e\u003ccode\u003eaebfd48\u003c/code\u003e\u003c/a\u003e fixup! Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/637db6cf270416b16a99776cde6d085a3856dd43\"\u003e\u003ccode\u003e637db6c\u003c/code\u003e\u003c/a\u003e fixup! Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/b9a1b37f977111f969a0acea8de4b55ece04152d\"\u003e\u003ccode\u003eb9a1b37\u003c/code\u003e\u003c/a\u003e Remove old sonatype staging repo configuration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/6b4e8c74fe5c521e54554f2505a919a6ae48c889\"\u003e\u003ccode\u003e6b4e8c7\u003c/code\u003e\u003c/a\u003e Support new maven central publication scheme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/3d84f697bd3ac3ba0bfe89c50612d4e656776214\"\u003e\u003ccode\u003e3d84f69\u003c/code\u003e\u003c/a\u003e Allow running MacOS TeamCity builds on ARM agents (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/553\"\u003e#553\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/19dfa8088362cd7b24371ebf7921ab7eba820bdf\"\u003e\u003ccode\u003e19dfa80\u003c/code\u003e\u003c/a\u003e Restore binary compatibility of \u003ccode\u003eyear()\u003c/code\u003e, \u003ccode\u003emonthNumber()\u003c/code\u003e, and \u003ccode\u003edayOfYear()\u003c/code\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/2e4fda1bc8166d732cbd5fa5daaaae5be8c71605\"\u003e\u003ccode\u003e2e4fda1\u003c/code\u003e\u003c/a\u003e Add note about kotlinx-serialization to 0.7.0 migration section (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/550\"\u003e#550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/5824a703f27e93828de9fae24b4f4815c7e9ad45\"\u003e\u003ccode\u003e5824a70\u003c/code\u003e\u003c/a\u003e Implement Foundation-based time zone support for Darwin systems with comprehe...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.6.2...v0.7.1-0.6.x-compat\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` from 1.10.1 to 1.10.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.10.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed the \u003ccode\u003ekotlinx-coroutines-debug\u003c/code\u003e JAR file including the \u003ccode\u003emodule-info.class\u003c/code\u003e file twice, resulting in failures in various tooling (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4314\"\u003e#4314\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/RyuNen344\"\u003e\u003ccode\u003e@​RyuNen344\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eFlow.stateIn\u003c/code\u003e hanging when the scope is cancelled in advance or the flow is empty (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4322\"\u003e#4322\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/francescotescari\"\u003e\u003ccode\u003e@​francescotescari\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eImproved handling of dispatcher failures in \u003ccode\u003e.limitedParallelism\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4330\"\u003e#4330\u003c/a\u003e) and during flow collection (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4272\"\u003e#4272\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003erunBlocking\u003c/code\u003e failing to run its coroutine to completion in some cases if its JVM thread got interrupted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eSmall tweaks, fixes, and documentation improvements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8900478a8e20c073145b1608fbc71fe3d7378b\"\u003e\u003ccode\u003e5f89004\u003c/code\u003e\u003c/a\u003e Version 1.10.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/1a8de2e451e0a2c650538e62e7c7e591970d28b1\"\u003e\u003ccode\u003e1a8de2e\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e9b247e84a43fac5759e2cf69733e25f23d7eb17\"\u003e\u003ccode\u003ee9b247e\u003c/code\u003e\u003c/a\u003e Advertise source jars for JVM-only libraries (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4394\"\u003e#4394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/6baf7c821ed9d7ee5db8b6353c24bcf614fc1826\"\u003e\u003ccode\u003e6baf7c8\u003c/code\u003e\u003c/a\u003e Restore Android compatibility in \u003ccode\u003eExecutor.asCoroutineDispatcher\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4396\"\u003e#4396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dbca4c1eaadadd29b1122fdf24a6cb53bc69fe76\"\u003e\u003ccode\u003edbca4c1\u003c/code\u003e\u003c/a\u003e Reliably run finalizers even if \u003ccode\u003erunBlocking\u003c/code\u003e got interrupted. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4399\"\u003e#4399\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/45893cec51c63490ce294e46ae25cef3e4d625bf\"\u003e\u003ccode\u003e45893ce\u003c/code\u003e\u003c/a\u003e Add the issue template for guide-related problems (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4386\"\u003e#4386\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8627cc37d4a2a2e2d683b98d4f53d1e03f59a366\"\u003e\u003ccode\u003e8627cc3\u003c/code\u003e\u003c/a\u003e Fix an explanation of flow emit (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4391\"\u003e#4391\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5f8035c108a1211deded198b7809cd8347ca07a5\"\u003e\u003ccode\u003e5f8035c\u003c/code\u003e\u003c/a\u003e Specify explicit return types for some public API functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4389\"\u003e#4389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/465e29d325841244f3a1aac2e13073bc965f9736\"\u003e\u003ccode\u003e465e29d\u003c/code\u003e\u003c/a\u003e Set a predefined image width in debug-coroutines-with-idea.md (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4377\"\u003e#4377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/96de3017802c6711cbe02acfff9b07975d422150\"\u003e\u003ccode\u003e96de301\u003c/code\u003e\u003c/a\u003e Simplify newFixedThreadPoolContext using apply and remove unused import (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4378\"\u003e#4378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.1...1.10.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.nimbusds:oauth2-oidc-sdk` from 11.23.1 to 11.31\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/src/master/CHANGELOG.txt\"\u003ecom.nimbusds:oauth2-oidc-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eversion 1.0 (2012-05-29)\n* First official release with authorisation endpoint, token endpoint, check\nID endpoint and UserInfo endpoint support.\n* JSON Web Tokens (JWTs) support through the Nimbus-JWT library.\n* Language Tags (RFC 5646) support through the Nimbus-LangTag library.\n* JSON support through the JSON Smart library.\u003c/p\u003e\n\u003cp\u003eversion 2.0 (2013-05-13)\n* Intermediary development release with Maven build, published to\nMaven Central.\u003c/p\u003e\n\u003cp\u003eversion 2.1 (2013-06-06)\n* Updates the APIs to OpenID Connect Messages draft 20, OpenID Connect\nStandard draft 21, OpenID Connect Discovery draft 17 and OpenID\nConnect Registration draft 19.\n* Major refactoring of the APIs for greater simplicity.\n* Adds JUnit tests.\u003c/p\u003e\n\u003cp\u003eversion 2.2 (2013-06-18)\n* Refactors dynamic OpenID Connect client registration.\n* Adds partial support of the OAuth 2.0 Dynamic Client Registration\nProtocol (draft-ietf-oauth-dyn-reg-12).\n* Optimises parsing of request parameters consisting of one or more\ntokens (scope, response type, etc).\u003c/p\u003e\n\u003cp\u003eversion 2.3 (2013-06-19)\n* Renames OAuth 2.0 dynamic client registration package.\n* Adds ClientInformation.getClientMetadata() method.\n* Adds OIDCClientInformation class.\u003c/p\u003e\n\u003cp\u003eversion 2.4 (2013-06-20)\n* Adds static OIDCClientInformation.parse(JSONObject) method.\u003c/p\u003e\n\u003cp\u003eversion 2.5 (2013-06-22)\n* Adds support OAuth 2.0 dynamic client update.\n* Adds OpenID Connect dynamic client registration classes.\u003c/p\u003e\n\u003cp\u003eversion 2.6 (2013-06-25)\n* Enforces order of preference of ACR values in OpenID Connect client\nmetadata, as required by the specification.\n* Documentation and performance improvements.\u003c/p\u003e\n\u003cp\u003eversion 2.7 (2013-06-26)\n* Switches Identifier generation to java.security.SecureRandom.\u003c/p\u003e\n\u003cp\u003eversion 2.8 (2013-06-30)\n* Fixes serialisation and assignment bugs in ClientMetadata.\n* Switches Secret generation to java.security.SecureRandom.\u003c/p\u003e\n\u003cp\u003eversion 2.9 (2013-09-17)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/c797f2efc38340273f91e0f963d815aeacd8ccf0\"\u003e\u003ccode\u003ec797f2e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/ace5ca73e401c340f991c5fd5a3f1e3d5289952d\"\u003e\u003ccode\u003eace5ca7\u003c/code\u003e\u003c/a\u003e Bumps deps\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/a859906d4495ea5630d66b66d1662aa1a1c42b10\"\u003e\u003ccode\u003ea859906\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.27.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/47549f573d74bdea8681897be2a702a8dbeb627e\"\u003e\u003ccode\u003e47549f5\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/a5020e24c828cca11dfe62db9d7185a5e005e834\"\u003e\u003ccode\u003ea5020e2\u003c/code\u003e\u003c/a\u003e DPoPProofClaimsSetVerifier supports a max accepted DPoP proof iat age relativ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/bfa89440e06bd61fb4867b4d9bb2f25d459fbc1e\"\u003e\u003ccode\u003ebfa8944\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.28\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/024a2b4d285463a1caf4e5b9e8b78206b560b8f7\"\u003e\u003ccode\u003e024a2b4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/6e55677e709d346b628e0c4a90a9626131cd1f24\"\u003e\u003ccode\u003e6e55677\u003c/code\u003e\u003c/a\u003e AuthorizationServerMetadata outputs OpenID Federation 1.0 \u0026quot;signed_jwks_uri\u0026quot; a...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/f16fc9ecffa817c63e6956c7d767f8fc9357146b\"\u003e\u003ccode\u003ef16fc9e\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release 11.29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/commits/86fde733617402ac14e195579bb2b8b42114be5d\"\u003e\u003ccode\u003e86fde73\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/connect2id/oauth-2.0-sdk-with-openid-connect-extensions/branches/compare/11.31..11.23.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.bouncycastle:bcpkix-jdk18on` from 1.80 to 1.83\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html\"\u003eorg.bouncycastle:bcpkix-jdk18on's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e2.1.1 Version\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\nRelease: 1.84\u003c!-- raw HTML omitted --\u003e\nDate:      TBD\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e2.2.1 Version\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\nRelease: 1.83\u003c!-- raw HTML omitted --\u003e\nDate:      2025, November 27th.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/bcgit/bc-java/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-fx-coroutines` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-fx-coroutines's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core-serialization` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-fx-coroutines` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-fx-coroutines's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.arrow-kt:arrow-core-serialization` from 2.0.1 to 2.2.1.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/arrow-kt/arrow/releases\"\u003eio.arrow-kt:arrow-core-serialization's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.2.1.1\u003c/h2\u003e\n\u003cp\u003eThis release was triggered just because 2.2.1 failed to publish. Please refer to the \u003ca href=\"https://github.com/arrow-kt/arrow/releases/tag/2.2.1\"\u003e2.2.1 release\u003c/a\u003e for more information.\u003c/p\u003e\n\u003ch2\u003e2.2.1\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdditional overloads for \u003ccode\u003ezipOrAccumulate \u003c/code\u003eby \u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003epropagate contracts to overloads added in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3782\"\u003e#3782\u003c/a\u003e by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3787\"\u003earrow-kt/arrow#3787\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ewarn on call already handled by \u003ca href=\"https://github.com/tKe\"\u003e\u003ccode\u003e@​tKe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3786\"\u003earrow-kt/arrow#3786\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3791\"\u003e#3791\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3792\"\u003earrow-kt/arrow#3792\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure sorting is stable by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3801\"\u003earrow-kt/arrow#3801\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eOptimize Nel functions by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3802\"\u003earrow-kt/arrow#3802\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUnify handling of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3793\"\u003earrow-kt/arrow#3793\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3799\"\u003e#3799\u003c/a\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3800\"\u003earrow-kt/arrow#3800\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove erroneous mentions of \u003ccode\u003ekotlin.Error\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3808\"\u003earrow-kt/arrow#3808\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCleanup CircuitBreaker by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3797\"\u003earrow-kt/arrow#3797\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse AutoCloseScope in SuspendApp by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3798\"\u003earrow-kt/arrow#3798\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePrevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3812\"\u003earrow-kt/arrow#3812\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnable \u0026quot;unused value checker\u0026quot; by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3773\"\u003earrow-kt/arrow#3773\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eguaranteeCase\u003c/code\u003e in CircuitBreaker instead of \u003ccode\u003eaddSuppressed\u003c/code\u003e by \u003ca href=\"https://github.com/kyay10\"\u003e\u003ccode\u003e@​kyay10\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3796\"\u003earrow-kt/arrow#3796\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to Jackson 3.0 by \u003ca href=\"https://github.com/serras\"\u003e\u003ccode\u003e@​serras\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3758\"\u003earrow-kt/arrow#3758\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tibtof\"\u003e\u003ccode\u003e@​tibtof\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/arrow-kt/arrow/pull/3782\"\u003earrow-kt/arrow#3782\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.0...2.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.2.0\u003c/h2\u003e\n\u003cp\u003eFor the full release notes, see the \u003ca href=\"https://arrow-kt.io/community/blog/\"\u003eArrow blog\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.11\u003c/h2\u003e\n\u003cp\u003eStill trying to get Maven Central to like us...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.10\u003c/h2\u003e\n\u003cp\u003eJust the same as \u003ccode\u003ebeta.9\u003c/code\u003e, but hopefully picked up by Maven Central this time...\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.9\u003c/h2\u003e\n\u003cp\u003eHopefully the last beta before the 2.2.0 release!\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.8\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.7\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003ch2\u003e2.2.0-beta.6\u003c/h2\u003e\n\u003cp\u003eNo release notes provided.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/8f963fefd98a9b55b5bd9a4aeb93c236f3dcba6e\"\u003e\u003ccode\u003e8f963fe\u003c/code\u003e\u003c/a\u003e Longer timeouts for publication (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3830\"\u003e#3830\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/6ad922fc3819ff3e4212969e6e53ed43bd3f3139\"\u003e\u003ccode\u003e6ad922f\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/ce0e3eb70a88ef453ad813d74a9dcbfab49d2786\"\u003e\u003ccode\u003ece0e3eb\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies to v0.12.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3828\"\u003e#3828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/48b7bc5a7e7df8e4661baa3778728a3e9c01e7e5\"\u003e\u003ccode\u003e48b7bc5\u003c/code\u003e\u003c/a\u003e Add support for Jackson 3.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3758\"\u003e#3758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/708454bf02631cf85b8df2171ad6299b7c2c1ab5\"\u003e\u003ccode\u003e708454b\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3826\"\u003e#3826\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/bb946b0bea5e9184a1b22d3f26e82f130b1e1a1e\"\u003e\u003ccode\u003ebb946b0\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency dev.forkhandles:result4k to v2.25.0.0 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3824\"\u003e#3824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/84c02fac5ae98fdcc70a232d86d83fcd1444ecbb\"\u003e\u003ccode\u003e84c02fa\u003c/code\u003e\u003c/a\u003e Use guaranteeCase in CircuitBreaker instead of addSuppressed (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3796\"\u003e#3796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7f058395915af62b33703c93acdad694b6d37444\"\u003e\u003ccode\u003e7f05839\u003c/code\u003e\u003c/a\u003e Enable \u0026quot;unused value checker\u0026quot; (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3773\"\u003e#3773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/b8dcaef6654b4921317e74f20cc4e94cd9584535\"\u003e\u003ccode\u003eb8dcaef\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2025...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/9ca03097685b1f50a26730ca5f8b87928d547b5e\"\u003e\u003ccode\u003e9ca0309\u003c/code\u003e\u003c/a\u003e Prevent error accumulation in \u003ccode\u003ewithNel\u003c/code\u003e when RCE caught (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3812\"\u003e#3812\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.0.1...2.2.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.webjars:swagger-ui` from 5.20.1 to 5.31.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/swagger-api/swagger-ui/releases\"\u003eorg.webjars:swagger-ui's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.31.0\u003c/h2\u003e\n\u003ch1\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.3...v5.31.0\"\u003e5.31.0\u003c/a\u003e (2025-12-11)\u003c/h1\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd dark mode (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10653\"\u003e#10653\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/5f42eee7476e3f6117af49fb66a40969304a4868\"\u003e5f42eee\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/5327\"\u003e#5327\u003c/a\u003e \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/9964\"\u003e#9964\u003c/a\u003e \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10089\"\u003e#10089\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.30.3\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.2...v5.30.3\"\u003e5.30.3\u003c/a\u003e (2025-11-25)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update vulnerable \u003ccode\u003e@​release-it/conventional-changelog\u003c/code\u003e to 10.0.2 (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10645\"\u003e#10645\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/6acfc6e2403104048bce3a1e5b5f3d7987ca8765\"\u003e6acfc6e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e update vulnerable dependencies (js-yaml \u0026amp; glob) (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10644\"\u003e#10644\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/03cf01bdbde4e308595b85b177f3ea5b3d37da9a\"\u003e03cf01b\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eutils:\u003c/strong\u003e handle sanitizing multi-level relative paths (\u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/10640\"\u003e#10640\u003c/a\u003e) (\u003ca href=\"https://github.com/swagger-api/swagger-ui/commit/58aff59a4cd1db1ded5e6b6b94aba4830b2b5487\"\u003e58aff59\u003c/a\u003e), closes \u003ca href=\"https://redirect.github.com/swagger-api/swagger-ui/issues/4107\"\u003e#4107\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev5.30.2\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/swagger-api/swagger-ui/compare/v5.30.1...v5.30.2\"\u003e5.30.2\u003c/a\u003e (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul...\n\n_Description has been truncated_","html_url":"https://github.com/espinr/eudi-srv-web-verifier-endpoint/pull/3","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/espinr%2Feudi-srv-web-verifier-endpoint/issues/3","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3/packages"}},{"old_version":"0.10.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-29T04:28:43.000Z","version_change":"0.10.0 → 1.0.0","issue":{"uuid":"3766381362","node_id":"PR_kwDOOoBoeM66xd4M","number":230,"state":"closed","title":"chore(deps): bump the all-gradle group across 1 directory with 54 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":5,"pull_request":true,"closed_at":"2026-01-19T05:23:36.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-29T04:28:43.000Z","updated_at":"2026-01-19T05:23:37.000Z","time_to_close":1817693,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"all-gradle","update_count":54,"packages":[{"name":"com.gradle.develocity","old_version":"3.18.1","new_version":"4.3"},{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.0.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"1.9.20","new_version":"2.1.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"org.jetbrains.kotlinx:kover-gradle-plugin","old_version":"0.8.3","new_version":"0.9.4","repository_url":"https://github.com/Kotlin/kotlinx-kover"},{"name":"me.paulschwarz:spring-dotenv","old_version":"4.0.0","new_version":"5.0.1","repository_url":"https://github.com/paulschwarz/spring-dotenv"},{"name":"io.gitlab.arturbosch.detekt:detekt-gradle-plugin","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.gitlab.arturbosch.detekt:detekt-formatting","old_version":"1.23.7","new_version":"1.23.8","repository_url":"https://github.com/detekt/detekt"},{"name":"io.nlopez.compose.rules:detekt","old_version":"0.4.22","new_version":"0.5.3","repository_url":"https://github.com/mrmans0n/compose-rules"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-ui","old_version":"2.6.0","new_version":"3.0.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springdoc:springdoc-openapi-starter-webflux-api","old_version":"2.6.0","new_version":"3.0.0","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"org.springframework.boot:spring-boot-starter-webflux","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-aop","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-data-r2dbc","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-oauth2-resource-server","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-security","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.3.4","new_version":"3.5.9","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.keycloak:keycloak-admin-client","old_version":"26.0.0","new_version":"26.0.7","repository_url":"https://github.com/keycloak/keycloak-client"},{"name":"org.springframework.security:spring-security-core","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-client","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"org.springframework.security:spring-security-oauth2-jose","old_version":"6.3.1","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.18.0","new_version":"2.20"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.18.0","new_version":"2.20","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.18.0","new_version":"2.20"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.0","new_version":"2.20"},{"name":"io.projectreactor.kotlin:reactor-kotlin-extensions","old_version":"1.2.3","new_version":"1.3.0","repository_url":"https://github.com/reactor/reactor-kotlin-extensions"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-reactor","old_version":"1.9.0","new_version":"1.10.2","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.apache.commons:commons-text","old_version":"1.12.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.jsoup:jsoup","old_version":"1.18.1","new_version":"1.21.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"5.11.2","new_version":"6.0.1","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.springframework.security:spring-security-test","old_version":"6.3.3","new_version":"7.0.2","repository_url":"https://github.com/spring-projects/spring-security"},{"name":"io.projectreactor:reactor-test","old_version":"3.6.10","new_version":"3.8.1","repository_url":"https://github.com/reactor/reactor-core"},{"name":"io.cucumber:cucumber-java","old_version":"7.20.0","new_version":"7.33.0","repository_url":"https://github.com/cucumber/cucumber-jvm"},{"name":"io.mockk:mockk","old_version":"1.13.12","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"net.datafaker:datafaker","old_version":"2.4.0","new_version":"2.5.3","repository_url":"https://github.com/datafaker-net/datafaker"},{"name":"org.assertj:assertj-core","old_version":"3.26.3","new_version":"3.27.6","repository_url":"https://github.com/assertj/assertj"},{"name":"io.kotest:kotest-assertions-core-jvm","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-json","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.0.7","repository_url":"https://github.com/kotest/kotest"},{"name":"org.testcontainers:testcontainers","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.2","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.github.dasniko:testcontainers-keycloak","old_version":"3.4.0","new_version":"4.0.1","repository_url":"https://github.com/dasniko/testcontainers-keycloak"},{"name":"io.jsonwebtoken:jjwt-api","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-impl","old_version":"0.12.6","new_version":"0.13.0","repository_url":"https://github.com/jwtk/jjwt"},{"name":"io.jsonwebtoken:jjwt-jackson","old_version":"0.12.6","new_version":"0.13.0"},{"name":"io.spring.dependency-management","old_version":"1.1.6","new_version":"1.1.7","repository_url":"https://github.com/spring-gradle-plugins/dependency-management-plugin"},{"name":"com.gorylenko.gradle-git-properties","old_version":"2.4.2","new_version":"2.5.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-gradle group with 54 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.gradle.develocity | `3.18.1` | `4.3` |\n| org.gradle.toolchains.foojay-resolver-convention | `0.10.0` | `1.0.0` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.0.20` | `2.3.0` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `1.9.20` | `2.1.0` |\n| [org.jetbrains.kotlinx:kover-gradle-plugin](https://github.com/Kotlin/kotlinx-kover) | `0.8.3` | `0.9.4` |\n| [me.paulschwarz:spring-dotenv](https://github.com/paulschwarz/spring-dotenv) | `4.0.0` | `5.0.1` |\n| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.gitlab.arturbosch.detekt:detekt-formatting](https://github.com/detekt/detekt) | `1.23.7` | `1.23.8` |\n| [io.nlopez.compose.rules:detekt](https://github.com/mrmans0n/compose-rules) | `0.4.22` | `0.5.3` |\n| [org.springdoc:springdoc-openapi-starter-webflux-ui](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.0` |\n| [org.springdoc:springdoc-openapi-starter-webflux-api](https://github.com/springdoc/springdoc-openapi) | `2.6.0` | `3.0.0` |\n| [org.springframework.boot:spring-boot-starter-webflux](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-aop](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-data-r2dbc](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-oauth2-resource-server](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-security](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.3.4` | `3.5.9` |\n| [org.keycloak:keycloak-admin-client](https://github.com/keycloak/keycloak-client) | `26.0.0` | `26.0.7` |\n| [org.springframework.security:spring-security-core](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-client](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| [org.springframework.security:spring-security-oauth2-jose](https://github.com/spring-projects/spring-security) | `6.3.1` | `7.0.2` |\n| com.fasterxml.jackson.core:jackson-core | `2.18.0` | `2.20` |\n| [com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson) | `2.18.0` | `2.20` |\n| com.fasterxml.jackson.core:jackson-databind | `2.18.0` | `2.20` |\n| com.fasterxml.jackson.module:jackson-module-kotlin | `2.18.0` | `2.20` |\n| [io.projectreactor.kotlin:reactor-kotlin-extensions](https://github.com/reactor/reactor-kotlin-extensions) | `1.2.3` | `1.3.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-reactor](https://github.com/Kotlin/kotlinx.coroutines) | `1.9.0` | `1.10.2` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.12.0` | `1.15.0` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.18.1` | `1.21.2` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `5.11.2` | `6.0.1` |\n| [org.springframework.security:spring-security-test](https://github.com/spring-projects/spring-security) | `6.3.3` | `7.0.2` |\n| [io.projectreactor:reactor-test](https://github.com/reactor/reactor-core) | `3.6.10` | `3.8.1` |\n| [io.cucumber:cucumber-java](https://github.com/cucumber/cucumber-jvm) | `7.20.0` | `7.33.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.13.12` | `1.14.7` |\n| [net.datafaker:datafaker](https://github.com/datafaker-net/datafaker) | `2.4.0` | `2.5.3` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.26.3` | `3.27.6` |\n| [io.kotest:kotest-assertions-core-jvm](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-assertions-json](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.0.7` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.2` | `1.21.4` |\n| [com.github.dasniko:testcontainers-keycloak](https://github.com/dasniko/testcontainers-keycloak) | `3.4.0` | `4.0.1` |\n| [io.jsonwebtoken:jjwt-api](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| [io.jsonwebtoken:jjwt-impl](https://github.com/jwtk/jjwt) | `0.12.6` | `0.13.0` |\n| io.jsonwebtoken:jjwt-jackson | `0.12.6` | `0.13.0` |\n| [io.spring.dependency-management](https://github.com/spring-gradle-plugins/dependency-management-plugin) | `1.1.6` | `1.1.7` |\n| com.gorylenko.gradle-git-properties | `2.4.2` | `2.5.4` |\n\n\nUpdates `com.gradle.develocity` from 3.18.1 to 4.3\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.10.0 to 1.0.0\n\nUpdates `org.jetbrains.kotlin:kotlin-gradle-plugin` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-gradle-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin:kotlin-reflect` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin:kotlin-reflect's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin:kotlin-reflect's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlin.plugin.spring` from 2.0.20 to 2.3.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.plugin.spring's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.0\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.plugin.spring's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.0\u003c/h2\u003e\n\u003ch3\u003eAnalysis API\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80082\"\u003e\u003ccode\u003eKT-80082\u003c/code\u003e\u003c/a\u003e K2. False positive \u0026quot;Cannot resolve method\u0026quot; for self-bounded generic with wildcard return type in Java interop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80303\"\u003e\u003ccode\u003eKT-80303\u003c/code\u003e\u003c/a\u003e Move \u003ccode\u003e:native:analysis-api-klib-reader\u003c/code\u003e to \u003ccode\u003e:libraries:tools\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Code Compilation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-70860\"\u003e\u003ccode\u003eKT-70860\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: CCE “java.lang.String cannot be cast to java.lang.Void” on evaluating not-null variable on the line with assigning null to that var\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78554\"\u003e\u003ccode\u003eKT-78554\u003c/code\u003e\u003c/a\u003e K2 IDE / Kotlin Debugger: ISE “No override for FUN IR_EXTERNAL_DECLARATION_STUB” on calling toString() for local class instance during evaluation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-73201\"\u003e\u003ccode\u003eKT-73201\u003c/code\u003e\u003c/a\u003e K2 IDE: Error while evaluating expressions with local classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. FIR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81378\"\u003e\u003ccode\u003eKT-81378\u003c/code\u003e\u003c/a\u003e Expected expression 'FirFunctionCallImpl' to be resolved caused by \u003ccode\u003esuspend {}\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80473\"\u003e\u003ccode\u003eKT-80473\u003c/code\u003e\u003c/a\u003e Add events for tracking LL activities\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-46375\"\u003e\u003ccode\u003eKT-46375\u003c/code\u003e\u003c/a\u003e Analysis API: Support cross-file class redeclaration checks using indices\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80471\"\u003e\u003ccode\u003eKT-80471\u003c/code\u003e\u003c/a\u003e Analysis API: Deduplicate equivalent call candidates in \u003ccode\u003eresolveToCallCandidates\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79653\"\u003e\u003ccode\u003eKT-79653\u003c/code\u003e\u003c/a\u003e [Analysis API] ContextCollector: BODY context of enum classes doesn't contain enum entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-75858\"\u003e\u003ccode\u003eKT-75858\u003c/code\u003e\u003c/a\u003e K2 AA: False positive 'property must be initialized' on incremental analysis with 'field' usage and semicolon in setter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80231\"\u003e\u003ccode\u003eKT-80231\u003c/code\u003e\u003c/a\u003e AnnotationArgumentsStateKeepers doesn't restore the initial annotation in some cases\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80233\"\u003e\u003ccode\u003eKT-80233\u003c/code\u003e\u003c/a\u003e Pull mutation out of AnnotationArgumentsStateKeepers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71466\"\u003e\u003ccode\u003eKT-71466\u003c/code\u003e\u003c/a\u003e \u003ccode\u003eLLFirBuiltinsSessionFactory\u003c/code\u003e uses \u003ccode\u003ecreateCompositeSymbolProvider\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-76432\"\u003e\u003ccode\u003eKT-76432\u003c/code\u003e\u003c/a\u003e JavaClassUseSiteMemberScope: Expected FirResolvedTypeRef with ConeKotlinType but was FirUserTypeRefImpl\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Infrastructure\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80717\"\u003e\u003ccode\u003eKT-80717\u003c/code\u003e\u003c/a\u003e Support IntelliJ Bazel build in the Kotlin Coop development mode\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Light Classes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80656\"\u003e\u003ccode\u003eKT-80656\u003c/code\u003e\u003c/a\u003e Duplicate no-args constructor in PSI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-60490\"\u003e\u003ccode\u003eKT-60490\u003c/code\u003e\u003c/a\u003e Symbol Light Classes: Property accessors from a delegated interface don't present in the delegating class\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79689\"\u003e\u003ccode\u003eKT-79689\u003c/code\u003e\u003c/a\u003e SymbolLightClassForClassLike.toString() causes PSI tree loading\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80690\"\u003e\u003ccode\u003eKT-80690\u003c/code\u003e\u003c/a\u003e Private interface functions are not present in light classes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80256\"\u003e\u003ccode\u003eKT-80256\u003c/code\u003e\u003c/a\u003e K2: Certain actions in JPA code causes infinite PIEAE: \u0026quot;Element class CompositeElement of type REFERENCE_EXPRESSION (class KtNameReferenceExpressionElementType)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-79012\"\u003e\u003ccode\u003eKT-79012\u003c/code\u003e\u003c/a\u003e Add a high-level overview of light classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAnalysis API. Providers and Caches\u003c/h3\u003e\n\u003ch4\u003eFixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81476\"\u003e\u003ccode\u003eKT-81476\u003c/code\u003e\u003c/a\u003e Analysis API: \u003ccode\u003eAlreadyDisposedException\u003c/code\u003e from low-memory cache cleanup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80911\"\u003e\u003ccode\u003eKT-80911\u003c/code\u003e\u003c/a\u003e Analysis API: Execute session invalidation in a non-cancelable section\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-81242\"\u003e\u003ccode\u003eKT-81242\u003c/code\u003e\u003c/a\u003e Analysis API: Add UUID/lifetime properties to LL FIR session structure logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80622\"\u003e\u003ccode\u003eKT-80622\u003c/code\u003e\u003c/a\u003e Analysis API: Visualise LL FIR session structure \u0026amp; weight\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-80904\"\u003e\u003ccode\u003eKT-80904\u003c/code\u003e\u003c/a\u003e Analysis API: \u0026quot;Invalid dangling file module\u0026quot; exception during session invalidation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-78882\"\u003e\u003ccode\u003eKT-78882\u003c/code\u003e\u003c/a\u003e K2 AA: Calling containingSymbol on getProgressionLastElement causes exception\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-58325\"\u003e\u003ccode\u003eKT-58325\u003c/code\u003e\u003c/a\u003e Analysis API: Combine \u003ccode\u003eLLKotlinStubBasedLibrarySymbolProvider\u003c/code\u003es in session dependencies (optimization)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f95cb2f7693a15966fd8fd9b1d78d440545e7b66\"\u003e\u003ccode\u003ef95cb2f\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9d65a2ef1483b3e226393252c59a535c79c6379c\"\u003e\u003ccode\u003e9d65a2e\u003c/code\u003e\u003c/a\u003e KT-82901: Fix issue with converting Long.MIN_VALUE to Duration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/35a9a828a5fc8ccf898d796bb32242a7bc960fbc\"\u003e\u003ccode\u003e35a9a82\u003c/code\u003e\u003c/a\u003e FE: Postpone DiscriminateSuspendInOverloadResolution\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e0b7eeac745125ebf4023a6ebbd4fa9c5b204614\"\u003e\u003ccode\u003ee0b7eea\u003c/code\u003e\u003c/a\u003e FE: Add tests for KT-82869\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e66298c5e9ee3def62d12f8bcb1bb8aea4b5270b\"\u003e\u003ccode\u003ee66298c\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.0-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/e490802b7e047091e828d18b525df52e21fb6108\"\u003e\u003ccode\u003ee490802\u003c/code\u003e\u003c/a\u003e [K/JS] Introduce a compiler argument to enable export of suspend functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/585094bbee54352ae87f1700671d98c3b5fa4e4f\"\u003e\u003ccode\u003e585094b\u003c/code\u003e\u003c/a\u003e FIR2IR: Avoid generation of incorrect suspend adapter for custom implementation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c69adc710202b1ae18fd8308d76e0dfea517e722\"\u003e\u003ccode\u003ec69adc7\u003c/code\u003e\u003c/a\u003e FIR2IR: Rename and clarify contracts for suspicious utility function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/b4bb8bff7cf18dd918ecea1cfd03b357c20fb37c\"\u003e\u003ccode\u003eb4bb8bf\u003c/code\u003e\u003c/a\u003e FIR2IR: Pass original expected type to applySuspendConversionIfNeeded\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/4718830def5165079a3d03ff20458dfd02980058\"\u003e\u003ccode\u003e4718830\u003c/code\u003e\u003c/a\u003e FIR2IR: Add tests for KT-82590\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.0.20...v2.3.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.dokka:dokka-gradle-plugin` from 1.9.20 to 2.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/dokka/releases\"\u003eorg.jetbrains.dokka:dokka-gradle-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.1.0\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0 focuses on stabilizing experimental features, supporting new Kotlin language features, and improving the user experience. Key highlights include:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDokka Gradle Plugin v2 is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eK2 Analysis is \u003cstrong\u003eenabled by default\u003c/strong\u003e!\u003c/li\u003e\n\u003cli\u003eSupport for \u003cstrong\u003eContext parameters\u003c/strong\u003e and \u003cstrong\u003eNested typealiases\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eHTML format refinement: better \u003cstrong\u003eaccessibility\u003c/strong\u003e and consistency across all components\u003c/li\u003e\n\u003cli\u003eMultiple \u003cstrong\u003eperformance\u003c/strong\u003e and compatibility improvements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMore details about each of the changes below. See \u003ca href=\"https://github.com/Kotlin/dokka/milestone/32?closed=1\"\u003eDokka 2.1.0\u003c/a\u003e milestone for the list of all changes.\u003c/p\u003e\n\u003ch2\u003eDokka's Gradle plugin v2 is enabled by default!\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://kotl.in/dokka-gradle-migration\"\u003emigration guide\u003c/a\u003e for the update procedure\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/Kotlin/dokka/releases/tag/v2.0.0\"\u003eDokka 2.0.0\u003c/a\u003e introduced a significantly improved Gradle plugin v2, and with Dokka 2.1.0 it is now \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4133\"\u003eenabled by default\u003c/a\u003e!\u003c/strong\u003e\nAs a result, all types and Gradle tasks related to Dokka Gradle plugin v1 are \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4135\"\u003edeprecated\u003c/a\u003e and will be removed in future releases.\nRunning Gradle tasks related to Dokka Gradle plugin v1 \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4187\"\u003ewill result in an error\u003c/a\u003e during execution.\u003c/p\u003e\n\u003cp\u003eStarting from this release, the minimum supported Gradle version is 7.6.3.\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate Gradle Properties types to be non-nullable (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4136\"\u003eKotlin/dokka#4136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate displayName convention for DokkaSourceSets (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4142\"\u003eKotlin/dokka#4142\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate olderVersionsDir to be an optional input. (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4155\"\u003eKotlin/dokka#4155\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd lifecycle tasks for generating formats (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4141\"\u003eKotlin/dokka#4141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse project name as default \u003ccode\u003emodulePath\u003c/code\u003e for root project to avoid clashing outputs during aggregation (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4158\"\u003eKotlin/dokka#4158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Dokka debug config file from task outputs (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/3961\"\u003eKotlin/dokka#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove V2EnabledWithHelpers warning \u0026amp; info message (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4206\"\u003eKotlin/dokka#4206\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eDokka's K2 analysis is enabled by default!\u003c/h2\u003e\n\u003cp\u003eDokka 2.1.0fixes the most problematic issues with K2 analysis and makes it \u003cstrong\u003eenabled by default!\u003c/strong\u003e\nIn addition to this, Dokka 2.1.0with K2 analysis introduces support for \u003cstrong\u003e\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4080\"\u003econtext parameters\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4261\"\u003enested typealiases\u003c/a\u003e!\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eDokka's K2 analysis leverages Kotlin's K2 compiler frontend for analysing code and uses the same shared Analysis API, which is used in IntelliJ IDEA’s K2 mode.\nThe output with K2 analysis should mostly match that of K1 analysis, but there may be minor differences.\u003c/p\u003e\n\u003cp\u003eIf you previously opted in to Dokka's K2 analysis, \u003cstrong\u003eremove\u003c/strong\u003e \u003ccode\u003eorg.jetbrains.dokka.experimental.tryK2\u003c/code\u003e from your project's \u003ccode\u003egradle.properties\u003c/code\u003e file.\nDokka's K1 analysis is still available, but it is deprecated and will be removed in future releases.\nWe would greatly appreciate your feedback, if there is something that is blocking you from migrating to K2 analysis!\u003c/p\u003e\n\u003ch3\u003eOther fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix merging of implicit expect/actual with a single declaration (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4016\"\u003eKotlin/dokka#4016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Wasm platform fully (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4123\"\u003eKotlin/dokka#4123\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eoverride\u003c/code\u003e modifier for generic functions (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4126\"\u003eKotlin/dokka#4126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a receiver to accessor DRI (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4122\"\u003eKotlin/dokka#4122\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix param tag for type parameter on implicit primary constructor (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/pull/4154\"\u003eKotlin/dokka#4154\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/905286d0d31f143bf0627656db1f14ea56fa42d3\"\u003e\u003ccode\u003e905286d\u003c/code\u003e\u003c/a\u003e Update Dokka version references to 2.1.0 (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4297\"\u003e#4297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/a3376d195a2cff7e86ba71299c2c2b6a784add05\"\u003e\u003ccode\u003ea3376d1\u003c/code\u003e\u003c/a\u003e Update the version for the 2.1.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/cbba0c9feda8bcfaa0f52602f61c4a97524f3493\"\u003e\u003ccode\u003ecbba0c9\u003c/code\u003e\u003c/a\u003e fix: spacing in html output (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4292\"\u003e#4292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/16eac5971db36b26f9213df7a54175122ae4f11e\"\u003e\u003ccode\u003e16eac59\u003c/code\u003e\u003c/a\u003e Support for nested typealiases (\u003ca href=\"https://redirect.github.com/Kotlin/dokka/issues/4261\"\u003e#4261\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/dokka/commit/454c68764f8955e14a732e879b11d1f9659fc20c\"\u003e\u003ccode\u003e454c687\u003c/code\u003e\u003c/a\u003e Handle \u003ccode\u003eInvocationTargetException...\n\n_Description has been truncated_","html_url":"https://github.com/dallay/hatchgrid/pull/230","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dallay%2Fhatchgrid/issues/230","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/230/packages"}},{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-17T16:35:54.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"3739620562","node_id":"PR_kwDOP_Lw0c65aMFz","number":13,"state":"closed","title":"Bump the all group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-01T16:48:57.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-17T16:35:54.000Z","updated_at":"2026-01-01T16:48:59.000Z","time_to_close":1296783,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all","update_count":28,"packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0"},{"name":"org.springframework.boot:spring-boot-configuration-processor","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-docker-compose","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-devtools","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-actuator","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-artemis","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-web","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-starter-test","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot:spring-boot-testcontainers","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.5.6","new_version":"4.0.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test-junit5","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.2.20","new_version":"2.3.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.15.4","new_version":"1.16.1","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.messaginghub:pooled-jms","old_version":"3.1.7","new_version":"3.1.8","repository_url":"https://github.com/messaginghub/pooled-jms"},{"name":"com.google.protobuf:protobuf-kotlin","old_version":"4.32.1","new_version":"4.33.2"},{"name":"org.springframework.modulith:spring-modulith-starter-core","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-actuator","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-observability","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"org.springframework.modulith:spring-modulith-starter-test","old_version":"1.4.3","new_version":"2.0.0","repository_url":"https://github.com/spring-projects/spring-modulith"},{"name":"io.mockk:mockk-jvm","old_version":"1.14.5","new_version":"1.14.7","repository_url":"https://github.com/mockk/mockk"},{"name":"com.ninja-squad:springmockk","old_version":"4.0.2","new_version":"5.0.1","repository_url":"https://github.com/Ninja-Squad/springmockk"},{"name":"org.testcontainers:testcontainers","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:activemq","old_version":"1.21.3","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.sonarqube","old_version":"6.3.1.5724","new_version":"7.2.1.6560"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.1.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.gradle.toolchains.foojay-resolver-convention | `0.8.0` | `1.0.0` |\n| [org.springframework.boot:spring-boot-configuration-processor](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-docker-compose](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-devtools](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-actuator](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-artemis](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-web](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-starter-test](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot:spring-boot-testcontainers](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.5.6` | `4.0.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit5](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.2.20` | `2.3.0` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.15.4` | `1.16.1` |\n| [org.messaginghub:pooled-jms](https://github.com/messaginghub/pooled-jms) | `3.1.7` | `3.1.8` |\n| com.google.protobuf:protobuf-kotlin | `4.32.1` | `4.33.2` |\n| [org.springframework.modulith:spring-modulith-starter-core](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-actuator](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-observability](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [org.springframework.modulith:spring-modulith-starter-test](https://github.com/spring-projects/spring-modulith) | `1.4.3` | `2.0.0` |\n| [io.mockk:mockk-jvm](https://github.com/mockk/mockk) | `1.14.5` | `1.14.7` |\n| [com.ninja-squad:springmockk](https://github.com/Ninja-Squad/springmockk) | `4.0.2` | `5.0.1` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| [org.testcontainers:activemq](https://github.com/testcontainers/testcontainers-java) | `1.21.3` | `1.21.4` |\n| org.sonarqube | `6.3.1.5724` | `7.2.1.6560` |\n| com.diffplug.spotless | `8.0.0` | `8.1.0` |\n\n\nUpdates `org.gradle.toolchains.foojay-resolver-convention` from 0.8.0 to 1.0.0\n\nUpdates `org.springframework.boot:spring-boot-configuration-processor` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-configuration-processor's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-docker-compose` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-docker-compose's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-devtools` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-devtools's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-actuator` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-actuator's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-artemis` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-artemis's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-web` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-web's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImage building may fail when specifying a platform if an image has already been built with a different platform \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48099\"\u003e#48099\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDefault values of Kotlinx Serialization JSON configuration properties are not documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48097\"\u003e#48097\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCustom XML converters should override defaults in HttpMessageConverters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48096\"\u003e#48096\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKotlin serialization is used too aggressively when other JSON libraries are available \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48070\"\u003e#48070\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePortInUseException incorrectly thrown on failure to bind port due to Netty IP misconfiguration \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48059\"\u003e#48059\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configured JCacheMetrics cannot be customized \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48057\"\u003e#48057\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWebSecurityCustomizer beans are excluded by WebMvcTest \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48055\"\u003e#48055\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeprecated EnvironmentPostProcessor does not resolve arguments \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48047\"\u003e#48047\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRetryPolicySettings should refer to maxRetries, not maxAttempts \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48023\"\u003e#48023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDevtools Restarter does not work with a parameterless main method \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47996\"\u003e#47996\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDependency management for Kafka should not manage Scala 2.12 libraries \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/47991\"\u003e#47991\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-mail should depend on jakarta.mail:jakarta.mail-api and org.eclipse.angus:angus-mail instead of org.eclipse.angus:jakarta.mail \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47983\"\u003e#47983\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-data-mongodb-reactive has dependency on reactor-test \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47982\"\u003e#47982\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for ReactiveElasticsearchClient is in the wrong module \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/47848\"\u003e#47848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:notebook_with_decorative_cover: Documentation\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRemoved property spring.test.webclient.register-rest-template is still documented \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48199\"\u003e#48199\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMention support for detecting AWS ECS in \u0026quot;Deploying to the Cloud\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48170\"\u003e#48170\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRevise AWS section of \u0026quot;Deploying to the Cloud\u0026quot; in reference manual \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48163\"\u003e#48163\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix typo in PortInUseException Javadoc \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48134\"\u003e#48134\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCorrect section about required setters in \u0026quot;Type-safe Configuration Properties\u0026quot; \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48131\"\u003e#48131\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse since attribute in configuration properties deprecation consistently \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48122\"\u003e#48122\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument EndpointJsonMapper and management.endpoints.jackson.isolated-json-mapper \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48115\"\u003e#48115\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument support for configuring servlet context init parameters using properties \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48112\"\u003e#48112\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSome configuration properties are not documented in the appendix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48095\"\u003e#48095\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/1c0e08b4c434b0e77a83098267b2a0f5a3fc56d7\"\u003e\u003ccode\u003e1c0e08b\u003c/code\u003e\u003c/a\u003e Release v4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/34879288f9305e8fb4ca292607e0f997e48a60c6\"\u003e\u003ccode\u003e3487928\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/29b8e969782bef3802784754c1e970fe513a36dc\"\u003e\u003ccode\u003e29b8e96\u003c/code\u003e\u003c/a\u003e Switch make-default in preparation for Spring Boot 4.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/88da0ddb940fc4f68a9bf161080cb7b5ef454753\"\u003e\u003ccode\u003e88da0dd\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/56feeaa9a036de7fed2ec7e40a4db624adb0858d\"\u003e\u003ccode\u003e56feeaa\u003c/code\u003e\u003c/a\u003e Next development version (v3.5.9-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3becdc7d47f5c0a9478d1a734f4ee94f84a1e7bd\"\u003e\u003ccode\u003e3becdc7\u003c/code\u003e\u003c/a\u003e Move server.error properties to spring.web.error\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/2b306329ae0df5ff94ab5846744083fe4df506c7\"\u003e\u003ccode\u003e2b30632\u003c/code\u003e\u003c/a\u003e Merge branch '3.5.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/4f03b44e972fac9ab11b833daa5c1ec328712fd8\"\u003e\u003ccode\u003e4f03b44\u003c/code\u003e\u003c/a\u003e Merge branch '3.4.x' into 3.5.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/3d15c13270a78dc6334aee2dd2fac9d7f5c41794\"\u003e\u003ccode\u003e3d15c13\u003c/code\u003e\u003c/a\u003e Next development version (v3.4.13-SNAPSHOT)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spring-projects/spring-boot/commit/dc140dfc2ea951b75dbb2ba910972318d919759d\"\u003e\u003ccode\u003edc140df\u003c/code\u003e\u003c/a\u003e Upgrade to Spring Framework 7.0.1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/spring-projects/spring-boot/compare/v3.5.6...v4.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.springframework.boot:spring-boot-starter-test` from 3.5.6 to 4.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/spring-projects/spring-boot/releases\"\u003eorg.springframework.boot:spring-boot-starter-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0.0\u003c/h2\u003e\n\u003cp\u003eFull \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Release-Notes\"\u003erelease notes for Spring Boot 4.0\u003c/a\u003e are available on the wiki. There is also \u003ca href=\"https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide\"\u003ea migration guide\u003c/a\u003e to help you upgrade from Spring Boot 3.5.\u003c/p\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChange tomcat and jetty runtime modules to starters \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48175\"\u003e#48175\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRename spring-boot-kotlin-serialization to align with the name of the Kotlinx module that it pulls in \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48076\"\u003e#48076\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eError properties are a general web concern and should not be located beneath server.* \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48201\"\u003e#48201\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWith both Jackson 2 and 3 on the classpath, \u003ccode\u003e@JsonTest\u003c/code\u003e fails due to duplicate jacksonTesterFactoryBean \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48198\"\u003e#48198\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eGradle war task does not exclude starter POMs from lib-provided \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48197\"\u003e#48197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring.test.webclient.mockrestserviceserver.enabled is not aligned with its module's name \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48193\"\u003e#48193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSslMeterBinder doesn't register metrics for dynamically added bundles if no bundles exist at bind time \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48182\"\u003e#48182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties bound in the child management context ignore the parent's environment prefix \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48177\"\u003e#48177\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003essl.chain.expiry metrics doesn't update for dynamically registered SSL bundles \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48171\"\u003e#48171\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eStarter for spring-boot-micrometer-metrics is missing \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48161\"\u003e#48161\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eElasticsearch client's sniffer functionality should not be enabled by default \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48155\"\u003e#48155\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003espring-boot-starter-elasticsearch should depend on elasticsearch-java \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/pull/48141\"\u003e#48141\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAuto-configuration exclusions are checked using a different class loader to the one that loads auto-configuration classes \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48132\"\u003e#48132\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNew arm64 macbooks fail to bootBuildImage due to incorrect platform image \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48128\"\u003e#48128\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eProperties for configuring an isolated JsonMapper or ObjectMapper are incorrectly named \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48116\"\u003e#48116\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuildpack fails with recent Docker installs due to hardcoded version in URL \u003ca href=\"https://redirect.github.com/spring-projects/spring-boot/issues/48103\"\u003e#48103\u003c/...\n\n_Description has been truncated_","html_url":"https://github.com/OSGP/gxf-publiclighting-message-transformer/pull/13","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/OSGP%2Fgxf-publiclighting-message-transformer/issues/13","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/13/packages"}},{"old_version":"0.5.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-12T08:05:01.000Z","version_change":"0.5.0 → 1.0.0","issue":{"uuid":"3722440241","node_id":"PR_kwDOL7Cw_864hBCp","number":15,"state":"open","title":"Bump org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-12T08:05:01.000Z","updated_at":"2025-12-14T14:04:43.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.5.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.5.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.5.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/progeek-de/kimai-client/pull/15","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/progeek-de%2Fkimai-client/issues/15","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/15/packages"}},{"old_version":"0.8.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2025-11-27T01:04:40.000Z","version_change":"0.8.0 → 1.0.0","issue":{"uuid":"3669495644","node_id":"PR_kwDOQcj13861wPjT","number":7,"state":"closed","title":"chore(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2025-11-27T01:41:25.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-27T01:04:40.000Z","updated_at":"2025-11-27T01:42:02.000Z","time_to_close":2205,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.8.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.8.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/sdj7072/masked4j/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdj7072%2Fmasked4j/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}},{"old_version":"0.10.0","new_version":"1.0.0","update_type":"major","path":null,"pr_created_at":"2025-11-26T15:44:57.000Z","version_change":"0.10.0 → 1.0.0","issue":{"uuid":"3668058978","node_id":"PR_kwDOQdiw1c61rfEd","number":7,"state":"closed","title":"build(deps): bump org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-29T04:42:27.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-26T15:44:57.000Z","updated_at":"2025-11-29T04:42:35.000Z","time_to_close":219450,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"org.gradle.toolchains.foojay-resolver-convention","old_version":"0.10.0","new_version":"1.0.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps org.gradle.toolchains.foojay-resolver-convention from 0.10.0 to 1.0.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.gradle.toolchains.foojay-resolver-convention\u0026package-manager=gradle\u0026previous-version=0.10.0\u0026new-version=1.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot 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`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@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)\n- `@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)\n- `@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)\n\n\n\u003c/details\u003e","html_url":"https://github.com/Lopesnextgen/aether-lunar-launcher/pull/7","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lopesnextgen%2Faether-lunar-launcher/issues/7","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/7/packages"}}]}