{"id":401,"name":"com.diffplug.spotless","ecosystem":"maven","repository_url":null,"issues_count":2945,"created_at":"2025-06-06T15:01:34.341Z","updated_at":"2025-06-06T15:01:34.341Z","purl":"pkg:maven/com.diffplug.spotless","unique_repositories_count":747,"unique_repositories_count_past_30_days":6,"recent_issues":[{"uuid":"4877851030","node_id":"PR_kwDOQEfaqc7xR3-I","number":282,"state":"open","title":"deps(deps): bump the gradle-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-13T21:43:49.000Z","updated_at":"2026-07-24T17:00:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-dependencies","update_count":30,"packages":[{"name":"org.yaml:snakeyaml","old_version":"2.3","new_version":"2.6"},{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.12","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-allopen","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-noarg","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.jpa","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.6","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter","old_version":"0.12.10","new_version":"0.14.0","repository_url":"https://github.com/MarcGiffing/bucket4j-spring-boot-starter"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.github.ben-manes.caffeine:jcache","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.flywaydb:flyway-core","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"net.jqwik:jqwik","old_version":"1.9.2","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:postgresql","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.8.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 30 updates in the /yay-tsa-v2 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.3` | `2.6` |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.12` | `9.6.1` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-allopen](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-noarg](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.jpa](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.2` | `2.22.1` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.18.2` | `2.22.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.6` | `3.0.3` |\n| [com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter](https://github.com/MarcGiffing/bucket4j-spring-boot-starter) | `0.12.10` | `0.14.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [com.github.ben-manes.caffeine:jcache](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| org.flywaydb:flyway-core | `11.3.1` | `13.0.0` |\n| org.flywaydb:flyway-database-postgresql | `11.3.1` | `13.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.2` | `1.10.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:postgresql](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| com.diffplug.spotless | `7.0.4` | `8.8.0` |\n\n\nUpdates `org.yaml:snakeyaml` from 2.3 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/015ab57b3a789f85cf8967f6f3431035d928d9bc\"\u003e\u003ccode\u003e015ab57\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/snakeyaml/snakeyaml/commits/4795519ef773da23c8816a4e932f9aaffd630f8c\"\u003e\u003ccode\u003e4795519\u003c/code\u003e\u003c/a\u003e Update info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/9c36c69034617a1c2e06b5b9b6da4073416279b8\"\u003e\u003ccode\u003e9c36c69\u003c/code\u003e\u003c/a\u003e Introduce devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0c5b3e513a8a3971f7c97404f73fadebb63b73c0\"\u003e\u003ccode\u003e0c5b3e5\u003c/code\u003e\u003c/a\u003e fix: add debug level to internal logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/a65b13170d1b221af062d6aa90fd7741ed7ea7cd\"\u003e\u003ccode\u003ea65b131\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/788a98b92bfd1696e95a0a48eb1d652d80660149\"\u003e\u003ccode\u003e788a98b\u003c/code\u003e\u003c/a\u003e Update changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/556b4bfec56355987f292f0ee515798b3a2eb3e0\"\u003e\u003ccode\u003e556b4bf\u003c/code\u003e\u003c/a\u003e Add info for devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0828c39da732f89844c0c66d7f55169417f8cd16\"\u003e\u003ccode\u003e0828c39\u003c/code\u003e\u003c/a\u003e ops: migrate deployment from OSSRH to Central Portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/30d6a3a64809f0f6d3d9fd901a85b7c3cda94930\"\u003e\u003ccode\u003e30d6a3a\u003c/code\u003e\u003c/a\u003e Add a test for issue 1108\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/2da4c6d8bfe0590dab56a5319366dc3b6558b9b5\"\u003e\u003ccode\u003e2da4c6d\u003c/code\u003e\u003c/a\u003e Remove unrelated code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.6..snakeyaml-2.3\"\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-dependencies` from 3.4.4 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:spring-boot-dependencies'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.4.4...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.springframework.boot` from 3.4.4 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.4.4...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 8.12 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.12.0...v9.6.1\"\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-stdlib` from 2.1.20 to 2.4.10\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-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-test` from 2.1.20 to 2.4.10\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-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-gradle-plugin` from 2.1.20 to 2.4.10\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.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-allopen` from 2.1.20 to 2.4.10\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-allopen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-allopen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003cc...\n\n_Description has been truncated_","html_url":"https://github.com/nikolay-e/yay-tsa/pull/282","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikolay-e%2Fyay-tsa/issues/282","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/282/packages"},{"uuid":"4772781039","node_id":"PR_kwDORvTpNs7sBKwh","number":143,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.7.0 to 8.8.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-30T01:08:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-30T01:08:14.000Z","updated_at":"2026-06-30T01:08:36.000Z","time_to_close":20,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.7.0","new_version":"8.8.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.7.0 to 8.8.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.7.0\u0026new-version=8.8.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/resoltico/GridGrind/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/resoltico%2FGridGrind/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"},{"uuid":"4755814752","node_id":"PR_kwDONKJoLM7rK7MX","number":193,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T10:44:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T23:55:37.000Z","updated_at":"2026-06-29T10:45:00.000Z","time_to_close":211761,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-server-core","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-di","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-id","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-openapi","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-routing-openapi","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache5","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-call-id","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor.plugin","old_version":"3.5.0","new_version":"3.5.1"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.34","new_version":"1.5.37","repository_url":"https://github.com/qos-ch/logback"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"org.postgresql:r2dbc-postgresql","old_version":"1.1.1.RELEASE","new_version":"1.1.2.RELEASE","repository_url":"https://github.com/pgjdbc/r2dbc-postgresql"},{"name":"org.flywaydb:flyway-core","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb.flyway","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.3.0","new_version":"4.3.1"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.1` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-di](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-call-id](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-openapi](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-routing-openapi](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-apache5](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-call-id](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| io.ktor.plugin | `3.5.0` | `3.5.1` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.34` | `1.5.37` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| [org.postgresql:r2dbc-postgresql](https://github.com/pgjdbc/r2dbc-postgresql) | `1.1.1.RELEASE` | `1.1.2.RELEASE` |\n| org.flywaydb:flyway-core | `12.8.1` | `12.9.0` |\n| org.flywaydb:flyway-database-postgresql | `12.8.1` | `12.9.0` |\n| org.flywaydb.flyway | `12.8.1` | `12.9.0` |\n| org.apache.kafka:kafka-clients | `4.3.0` | `4.3.1` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.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-server-core` from 3.5.0 to 3.5.1\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-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-di` from 3.5.0 to 3.5.1\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-server-di's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-call-id` from 3.5.0 to 3.5.1\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-server-call-id's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-serialization-kotlinx-json` from 3.5.0 to 3.5.1\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.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-content-negotiation` from 3.5.0 to 3.5.1\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-server-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-serialization-jackson` from 3.5.0 to 3.5.1\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-jackson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/k...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/syk-inn-api/pull/193","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fsyk-inn-api/issues/193","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/193/packages"},{"uuid":"4752656542","node_id":"PR_kwDOS_0k687rAnNr","number":11,"state":"open","title":"Bump the gradle-minor-and-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-26T14:13:55.000Z","updated_at":"2026-06-28T23:27:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-and-patch","update_count":8,"packages":[{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.errorprone:error_prone_core","old_version":"2.49.0","new_version":"2.50.0","repository_url":"https://github.com/google/error-prone"},{"name":"com.google.errorprone:error_prone_annotations","old_version":"2.49.0","new_version":"2.50.0","repository_url":"https://github.com/google/error-prone"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.diffplug.spotless","old_version":"8.5.1","new_version":"8.7.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.6.1` |\n| androidx.core:core | `1.18.0` | `1.19.0` |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.49.0` | `2.50.0` |\n| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.49.0` | `2.50.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| com.diffplug.spotless | `8.5.1` | `8.7.0` |\n\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core` from 1.18.0 to 1.19.0\n\nUpdates `com.google.errorprone:error_prone_core` from 2.49.0 to 2.50.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.50.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BoxingComparator\"\u003e\u003ccode\u003eBoxingComparator\u003c/code\u003e\u003c/a\u003e:  Detect implicitly-boxing Comparator.comparing key extractors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExposedPrivateType\"\u003e\u003ccode\u003eExposedPrivateType\u003c/code\u003e\u003c/a\u003e: Discourage references to private member classes from non-private APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/JUnitMethodInvoked\"\u003e\u003ccode\u003eJUnitMethodInvoked\u003c/code\u003e\u003c/a\u003e: Discourage directly invoking JUnit test methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ListRemoveAmbiguous\"\u003e\u003ccode\u003eListRemoveAmbiguous\u003c/code\u003e\u003c/a\u003e: Detect ambiguous calls to \u003ccode\u003eList.remove(int|Integer)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/PreferTestParameter\"\u003e\u003ccode\u003ePreferTestParameter\u003c/code\u003e\u003c/a\u003e: suggests using \u003ccode\u003e@TestParameter\u003c/code\u003e instead of \u003ccode\u003e@TestParameters\u003c/code\u003e for exhaustive boolean and enum parameters on single-element parameterized tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentAccessorAnnotationConflict\"\u003e\u003ccode\u003eRecordComponentAccessorAnnotationConflict\u003c/code\u003e\u003c/a\u003e: Detect conflicts between record components and explicit accessor methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentOverride\"\u003e\u003ccode\u003eRecordComponentOverride\u003c/code\u003e\u003c/a\u003e: Discourage \u003ccode\u003e@Override\u003c/code\u003e on record component declarations that don't override\nanything\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThrowableEqualsHashCode\"\u003e\u003ccode\u003eThrowableEqualsHashCode\u003c/code\u003e\u003c/a\u003e: Discourage overriding \u003ccode\u003eThrowable.equals()\u003c/code\u003e and \u003ccode\u003ehashCode()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClosed issues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5553\"\u003e#5553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5649\"\u003e#5649\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5778\"\u003e#5778\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ehttps://github.com/google/error-prone/compare/v2.49.0...v2.50.0\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/google/error-prone/commit/d802cff975605b2c76f262eaf28d22bf39534f78\"\u003e\u003ccode\u003ed802cff\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.50.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/b12b5f206d0f9f4a9f4c647839096a7a571c0961\"\u003e\u003ccode\u003eb12b5f2\u003c/code\u003e\u003c/a\u003e In \u003ccode\u003eStringCharset\u003c/code\u003e, move the description from \u003ccode\u003eexplanation\u003c/code\u003e to \u003ccode\u003esummary\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a7ca02a09c4b7c343eaf3eae6badbf3cf14568c4\"\u003e\u003ccode\u003ea7ca02a\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsUtils\u003c/code\u003e to emit \u003ccode\u003evar thrown = assertThrows(...)\u003c/code\u003e instead o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/6b565177d4dd90b09abc646e4639caa117637c18\"\u003e\u003ccode\u003e6b56517\u003c/code\u003e\u003c/a\u003e Fix handling of nested tags in  UnrecognisedJavadocTag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/d36e74f6a7bde44a23dcc6f8c729f4bf909455f6\"\u003e\u003ccode\u003ed36e74f\u003c/code\u003e\u003c/a\u003e Remove translation of the \u003ccode\u003efail()\u003c/code\u003e message into \u003ccode\u003eassertThrows()\u003c/code\u003e. We already ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/c3581e93a0db15e35f8f7b3b6bb5cfe5eadbe8dc\"\u003e\u003ccode\u003ec3581e9\u003c/code\u003e\u003c/a\u003e Fix JavacFileManager compiler crash during speculative recompiles in modular ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da1f32b7908e5da8376fff4e57296ef7a84a4e81\"\u003e\u003ccode\u003eda1f32b\u003c/code\u003e\u003c/a\u003e Remove assignments from \u003ccode\u003eassertThrows()\u003c/code\u003e lambdas. A large percentage of remai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/dee62f74041f8944377880476ec4babb12863b37\"\u003e\u003ccode\u003edee62f7\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsBlockToExpression\u003c/code\u003e to re-write single \u003ccode\u003eVariableTree\u003c/code\u003es int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/493944857cd9f4af7e0846481f7ebcc027c17663\"\u003e\u003ccode\u003e4939448\u003c/code\u003e\u003c/a\u003e Only hoist the last statement into the \u003ccode\u003eassertThrows()\u003c/code\u003e lambda.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/30fd05a4d19da16fd141b060a42557f2e772b9d2\"\u003e\u003ccode\u003e30fd05a\u003c/code\u003e\u003c/a\u003e refactor: Rename JavaLangClash bug pattern to AvoidCommonTypeNames\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.errorprone:error_prone_annotations` from 2.49.0 to 2.50.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.50.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BoxingComparator\"\u003e\u003ccode\u003eBoxingComparator\u003c/code\u003e\u003c/a\u003e:  Detect implicitly-boxing Comparator.comparing key extractors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExposedPrivateType\"\u003e\u003ccode\u003eExposedPrivateType\u003c/code\u003e\u003c/a\u003e: Discourage references to private member classes from non-private APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/JUnitMethodInvoked\"\u003e\u003ccode\u003eJUnitMethodInvoked\u003c/code\u003e\u003c/a\u003e: Discourage directly invoking JUnit test methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ListRemoveAmbiguous\"\u003e\u003ccode\u003eListRemoveAmbiguous\u003c/code\u003e\u003c/a\u003e: Detect ambiguous calls to \u003ccode\u003eList.remove(int|Integer)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/PreferTestParameter\"\u003e\u003ccode\u003ePreferTestParameter\u003c/code\u003e\u003c/a\u003e: suggests using \u003ccode\u003e@TestParameter\u003c/code\u003e instead of \u003ccode\u003e@TestParameters\u003c/code\u003e for exhaustive boolean and enum parameters on single-element parameterized tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentAccessorAnnotationConflict\"\u003e\u003ccode\u003eRecordComponentAccessorAnnotationConflict\u003c/code\u003e\u003c/a\u003e: Detect conflicts between record components and explicit accessor methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentOverride\"\u003e\u003ccode\u003eRecordComponentOverride\u003c/code\u003e\u003c/a\u003e: Discourage \u003ccode\u003e@Override\u003c/code\u003e on record component declarations that don't override\nanything\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThrowableEqualsHashCode\"\u003e\u003ccode\u003eThrowableEqualsHashCode\u003c/code\u003e\u003c/a\u003e: Discourage overriding \u003ccode\u003eThrowable.equals()\u003c/code\u003e and \u003ccode\u003ehashCode()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClosed issues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5553\"\u003e#5553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5649\"\u003e#5649\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5778\"\u003e#5778\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ehttps://github.com/google/error-prone/compare/v2.49.0...v2.50.0\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/google/error-prone/commit/d802cff975605b2c76f262eaf28d22bf39534f78\"\u003e\u003ccode\u003ed802cff\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.50.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/b12b5f206d0f9f4a9f4c647839096a7a571c0961\"\u003e\u003ccode\u003eb12b5f2\u003c/code\u003e\u003c/a\u003e In \u003ccode\u003eStringCharset\u003c/code\u003e, move the description from \u003ccode\u003eexplanation\u003c/code\u003e to \u003ccode\u003esummary\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a7ca02a09c4b7c343eaf3eae6badbf3cf14568c4\"\u003e\u003ccode\u003ea7ca02a\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsUtils\u003c/code\u003e to emit \u003ccode\u003evar thrown = assertThrows(...)\u003c/code\u003e instead o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/6b565177d4dd90b09abc646e4639caa117637c18\"\u003e\u003ccode\u003e6b56517\u003c/code\u003e\u003c/a\u003e Fix handling of nested tags in  UnrecognisedJavadocTag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/d36e74f6a7bde44a23dcc6f8c729f4bf909455f6\"\u003e\u003ccode\u003ed36e74f\u003c/code\u003e\u003c/a\u003e Remove translation of the \u003ccode\u003efail()\u003c/code\u003e message into \u003ccode\u003eassertThrows()\u003c/code\u003e. We already ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/c3581e93a0db15e35f8f7b3b6bb5cfe5eadbe8dc\"\u003e\u003ccode\u003ec3581e9\u003c/code\u003e\u003c/a\u003e Fix JavacFileManager compiler crash during speculative recompiles in modular ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da1f32b7908e5da8376fff4e57296ef7a84a4e81\"\u003e\u003ccode\u003eda1f32b\u003c/code\u003e\u003c/a\u003e Remove assignments from \u003ccode\u003eassertThrows()\u003c/code\u003e lambdas. A large percentage of remai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/dee62f74041f8944377880476ec4babb12863b37\"\u003e\u003ccode\u003edee62f7\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsBlockToExpression\u003c/code\u003e to re-write single \u003ccode\u003eVariableTree\u003c/code\u003es int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/493944857cd9f4af7e0846481f7ebcc027c17663\"\u003e\u003ccode\u003e4939448\u003c/code\u003e\u003c/a\u003e Only hoist the last statement into the \u003ccode\u003eassertThrows()\u003c/code\u003e lambda.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/30fd05a4d19da16fd141b060a42557f2e772b9d2\"\u003e\u003ccode\u003e30fd05a\u003c/code\u003e\u003c/a\u003e refactor: Rename JavaLangClash bug pattern to AvoidCommonTypeNames\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.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.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-reflect'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\"\u003eorg.jetbrains.kotlin:kotlin-reflect'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/v2.3.21...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.jetbrains.kotlin.android` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.android'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\"\u003eorg.jetbrains.kotlin.android'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 8.5.1 to 8.7.0\n","html_url":"https://github.com/ApexAlphaHero/AnyGifKeyboard/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApexAlphaHero%2FAnyGifKeyboard/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"4749005499","node_id":"PR_kwDOSVG4Qs7q0tHm","number":36,"state":"closed","title":"Bump the gradle-updates group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T03:24:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T03:24:35.000Z","updated_at":"2026-06-29T03:24:51.000Z","time_to_close":259214,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":9,"packages":[{"name":"org.openapi.generator","old_version":"7.22.0","new_version":"7.23.0"},{"name":"software.amazon.awssdk:sts","old_version":"2.44.14","new_version":"2.46.14"},{"name":"io.sentry:sentry-bom","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-logback","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-spring-boot-4","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"org.mock-server:mockserver-client-java","old_version":"6.1.0","new_version":"7.1.0"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"io.sentry.jvm.gradle","old_version":"6.8.1","new_version":"6.12.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.openapi.generator | `7.22.0` | `7.23.0` |\n| software.amazon.awssdk:sts | `2.44.14` | `2.46.14` |\n| [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| [io.sentry:sentry-logback](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| [io.sentry:sentry-spring-boot-4](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| org.mock-server:mockserver-client-java | `6.1.0` | `7.1.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.8.1` | `6.12.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.0` |\n\n\nUpdates `org.openapi.generator` from 7.22.0 to 7.23.0\n\nUpdates `software.amazon.awssdk:sts` from 2.44.14 to 2.46.14\n\nUpdates `io.sentry:sentry-bom` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-logback` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-logback's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-logback's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-logback` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-logback's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-logback's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.mock-server:mockserver-client-java` from 6.1.0 to 7.1.0\n\nUpdates `com.diffplug.spotless` from 8.6.0 to 8.7.0\n\nUpdates `io.sentry.jvm.gradle` from 6.8.1 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.11.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve the sentry-cli path as a task input instead of memoizing it in a static field, fixing stale-path build failures when switching branches with the configuration cache enabled (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1264\"\u003e#1264\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis fixed the issue where sentry-cli could not be found (\u003ccode\u003eA problem occurred starting process 'command  ../sentry-cliXXX.exe'\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDefer the telemetry default-org lookup to execution time so the configuration cache no longer re-runs \u003ccode\u003esentry-cli\u003c/code\u003e on every build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe published Gradle plugin and \u003ccode\u003esentry-snapshots-runtime\u003c/code\u003e POMs no longer declare a transitive \u003ccode\u003ekotlin-stdlib\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize Linux ARM64 architecture name for bundled sentry-cli binary lookup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.1 to v8.43.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1291\"\u003e#1291\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8432\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.1...8.43.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.10.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the Kotlin 2.4 compiler in the Compose tracing compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompose tracing no longer adds the Sentry modifier multiple times for chained modifiers (e.g. \u003ccode\u003eModifier.fillMaxSize().padding()\u003c/code\u003e) on Kotlin 2.2 and newer (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.0 to v8.43.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1261\"\u003e#1261\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8431\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.0...8.43.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.3 to v3.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1251\"\u003e#1251\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#350\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.3...3.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edebug\u003c/code\u003e extension property is now typed as \u003ccode\u003eProperty\u0026lt;Boolean\u0026gt;\u003c/code\u003e instead of \u003ccode\u003eProperty\u0026lt;Boolean?\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.11.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve the sentry-cli path as a task input instead of memoizing it in a static field, fixing stale-path build failures when switching branches with the configuration cache enabled (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1264\"\u003e#1264\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis fixed the issue where sentry-cli could not be found (\u003ccode\u003eA problem occurred starting process 'command  ../sentry-cliXXX.exe'\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDefer the telemetry default-org lookup to execution time so the configuration cache no longer re-runs \u003ccode\u003esentry-cli\u003c/code\u003e on every build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe published Gradle plugin and \u003ccode\u003esentry-snapshots-runtime\u003c/code\u003e POMs no longer declare a transitive \u003ccode\u003ekotlin-stdlib\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize Linux ARM64 architecture name for bundled sentry-cli binary lookup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.1 to v8.43.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1291\"\u003e#1291\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8432\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.1...8.43.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.10.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the Kotlin 2.4 compiler in the Compose tracing compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompose tracing no longer adds the Sentry modifier multiple times for chained modifiers (e.g. \u003ccode\u003eModifier.fillMaxSize().padding()\u003c/code\u003e) on Kotlin 2.2 and newer (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.0 to v8.43.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1261\"\u003e#1261\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8431\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.0...8.43.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.3 to v3.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1251\"\u003e#1251\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sen...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-data-claims-notify-service/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-data-claims-notify-service/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"},{"uuid":"4748344444","node_id":"PR_kwDOP3VK-c7qynDF","number":466,"state":"closed","title":"Bump the gradle-updates group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T00:24:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T00:24:16.000Z","updated_at":"2026-06-29T00:24:07.000Z","time_to_close":259190,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":4,"packages":[{"name":"io.sentry:sentry-bom","old_version":"8.43.2","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"io.sentry.jvm.gradle","old_version":"6.11.0","new_version":"6.12.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 4 updates in the / directory: [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java), com.diffplug.spotless, [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `io.sentry:sentry-bom` from 8.43.2 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 8.6.0 to 8.7.0\n\nUpdates `io.sentry.jvm.gradle` from 6.11.0 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-android-gradle-plugin/commit/dab73e2f0432c68b54ba264451f31e7ec8d9c581\"\u003e\u003ccode\u003edab73e2\u003c/code\u003e\u003c/a\u003e release: 6.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/2b4b320515f435941a9ed7d56b9ce8e49f00f87d\"\u003e\u003ccode\u003e2b4b320\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-android.sh to 8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1302\"\u003e#1302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/9e033dfab205aa95e99b76d0521cf69f3f908eda\"\u003e\u003ccode\u003e9e033df\u003c/code\u003e\u003c/a\u003e Add renovate.json (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f62e071eea2e6db2b0e646fcbd4f0dddd17fffb5\"\u003e\u003ccode\u003ef62e071\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-java from 5.2.0 to 5.3.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/a5a55f8448cddd9e0282a89c436b339704b30ab3\"\u003e\u003ccode\u003ea5a55f8\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/sentry-cli.properties to 3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1300\"\u003e#1300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/4dd67c328474b96f93aaf7d1011f62fd4de89aa5\"\u003e\u003ccode\u003e4dd67c3\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle/actions from 6.1.1 to 6.2.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/e170ef1ecfab73eb2b86700ddfb611b2ae4d2db5\"\u003e\u003ccode\u003ee170ef1\u003c/code\u003e\u003c/a\u003e build(deps): bump getsentry/craft from 2.26.9 to 2.26.10 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b7e3050924a74e7fca1c3df55b0682f45d0477b1\"\u003e\u003ccode\u003eb7e3050\u003c/code\u003e\u003c/a\u003e build(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b1fd65d39eb6c6521863d4e5a6142919e62572cb\"\u003e\u003ccode\u003eb1fd65d\u003c/code\u003e\u003c/a\u003e Merge branch 'release/6.11.0'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.11.0...6.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 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/ministryofjustice/laa-amend-a-claim/pull/466","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-amend-a-claim/issues/466","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/466/packages"},{"uuid":"4730827954","node_id":"PR_kwDOSuoDCM7p5vYg","number":5,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-26T01:15:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-24T01:19:18.000Z","updated_at":"2026-06-26T01:15:18.000Z","time_to_close":172558,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"9.1.0","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.35","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.3.0","new_version":"4.3.1"},{"name":"io.arrow-kt:arrow-core","old_version":"2.2.2.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-fx-coroutines","old_version":"2.2.2.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.5","new_version":"1.17.0","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"com.diffplug.spotless","old_version":"8.5.1","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.1.0` | `9.6.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.35` |\n| org.apache.kafka:kafka-clients | `4.3.0` | `4.3.1` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `2.2.2.1` | `2.2.3` |\n| [io.arrow-kt:arrow-fx-coroutines](https://github.com/arrow-kt/arrow) | `2.2.2.1` | `2.2.3` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.5` | `1.17.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| com.diffplug.spotless | `8.5.1` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.1.0 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.1.0...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.32 to 1.5.35\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.5.35\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e026-06-23 Release of logback version 1.5.35\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now rejects unicode escape sequences (\\u and \\U). This closes a bypass of the existing prohibition on the new operator in Janino-evaluated conditions. This issue was reported by IcySun (\u003ca href=\"mailto:icysun@qq.com\"\u003eicysun@qq.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• Added \u003ccode\u003eConfiguratorRank.AUTHENTICATING\u003c/code\u003e (rank 100), the highest configurator rank, for certified/authenticating configurators discovered via the ServiceLoader mechanism. \u003ccode\u003eContextInitializer\u003c/code\u003e now requires that at most one such configurator exist on the classpath; if more than one is found, initialization aborts with an error.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eConsoleCharsetPropertyDefiner\u003c/code\u003e is no longer shipped. The Java 21 multi-release compilation of logback-core has been disabled, which removes this class from the published artifact. Configurations that referenced \u003ccode\u003ech.qos.logback.core.property.ConsoleCharsetPropertyDefiner\u003c/code\u003e will need an alternative approach for console charset detection.\u003c/p\u003e\n\u003cp\u003e• The logback-examples module is now included in artifacts published to Maven Central.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eJoranConfigurator.makeAnotherInstance()\u003c/code\u003e and \u003ccode\u003eDefaultJoranConfigurator.performMultiStepConfigurationFileSearch()\u003c/code\u003e are now protected, allowing derived configurators to override these methods.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 08bd1598d565d83444f72983935e7da4746783b7 associated with the tag v_1.5.35. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.34\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-01 Release of logback version 1.5.34\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In case certain StackTraceElement values returned by the Throwable.getStackTrace method are null, StackTraceElementProxy substitutes a dummy instance instead of throwing an IllegalArgumentException. This resolves [issues \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003e#1040\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003eqos-ch/logback#1040\u003c/a\u003e), reported by Naotsugu Kobayashi.\u003c/p\u003e\n\u003cp\u003e• HardenedObjectInputStream will now throw an InvalidClassException during deserialization attempts of Proxy classes. This change addresses potential deserialization whitelist bypass vulnerability reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-10532\"\u003eCVE-2026-10532\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit e62272ac152469aec1ede056c3c7d0d7314e7bfe associated with the tag v_1.5.34. This release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.33\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-05-27 Release of logback version 1.5.33\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003ePropertiesConfiguratorModelHandler\u003c/code\u003e now registers properties file URLs to the \u003ccode\u003eConfigurationWatchList\u003c/code\u003e when scan is enabled (via local scan=\u0026quot;true\u0026quot; attribute or top-level configuration scan), ensuring changes are detected and reconfiguration occurs. This problem was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1034\"\u003eissues/1034\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• When processing \u003ccode\u003e\u0026lt;conversionRule\u0026gt;\u003c/code\u003e elements and both \u003ccode\u003eclass\u003c/code\u003e and \u003ccode\u003econverterClass\u003c/code\u003e attributes are specified, silently use the class attribute without issuing a warning. However, if the attribute values differ, a warning will be issued. This change was requested in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1031\"\u003eissues/1031\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eHardenedModelInputStream\u003c/code\u003e will no longer accept to deserialize all classes located under the \u0026quot;java.lang\u0026quot; and \u0026quot;java.util\u0026quot; packages but a limited number of explicitly authorized classes in those packages. This potential deserialization whitelist bypass vulnerability was reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-9828\"\u003eCVE-2026-9828\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• SSL parameters for \u003ccode\u003eSSLSocketAppender\u003c/code\u003e now enable hostname verification by default. Moreover, the default protocol is now \u0026quot;TLSv1.2\u0026quot;. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• When printing the status message field, \u003ccode\u003eViewStatusMessagesServletBase\u003c/code\u003e now escapes special characters such as \u0026quot;\u0026amp;\u0026quot; as character entities. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit 124e8b49b55ac34d08743a0646bd463410192647 associated with the tag v_1.5.33. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\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/qos-ch/logback/commit/08bd1598d565d83444f72983935e7da4746783b7\"\u003e\u003ccode\u003e08bd159\u003c/code\u003e\u003c/a\u003e preapre release 1.5.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/37d256b825fc62b4a3908fa29d8b4e34acf79ed0\"\u003e\u003ccode\u003e37d256b\u003c/code\u003e\u003c/a\u003e indentation changes only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d3d73078afbb0691423f60a066d77503fdf05fc3\"\u003e\u003ccode\u003ed3d7307\u003c/code\u003e\u003c/a\u003e minor comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/fa0411a9393282ba69396ce65f122d281c079ac0\"\u003e\u003ccode\u003efa0411a\u003c/code\u003e\u003c/a\u003e radomize file location\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/834fdba8085727f96fc12214ff6dd71ab3ac6a25\"\u003e\u003ccode\u003e834fdba\u003c/code\u003e\u003c/a\u003e disable consoleCharset test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/42eabc374ad8348e9f74e9cd4b59ae5168dd1c2b\"\u003e\u003ccode\u003e42eabc3\u003c/code\u003e\u003c/a\u003e fix messages in IfModelHandler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/347efc8ec3f10defafd0cf6d4b9a0c81b3320c3a\"\u003e\u003ccode\u003e347efc8\u003c/code\u003e\u003c/a\u003e add unicode escape prevention\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/1b6ba73679437670b37aa1d9061ca82dfd554afb\"\u003e\u003ccode\u003e1b6ba73\u003c/code\u003e\u003c/a\u003e allow derived classes to override makeAnotherInstance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/340e8be17c9a43d022c301e00b83601affd1fee5\"\u003e\u003ccode\u003e340e8be\u003c/code\u003e\u003c/a\u003e check for unicode escape codes in Janino conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/4468f5e5fb67872a14131a7d4feb736131d17202\"\u003e\u003ccode\u003e4468f5e\u003c/code\u003e\u003c/a\u003e adding support for certifying configurators\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.5.35\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.kafka:kafka-clients` from 4.3.0 to 4.3.1\n\nUpdates `io.arrow-kt:arrow-core` from 2.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\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.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\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.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.5 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases\"\u003eio.micrometer:micrometer-registry-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003cp\u003eSee also the \u003ca href=\"https://github.com/micrometer-metrics/micrometer/wiki/1.17-Migration-Guide\"\u003e1.17 migration guide\u003c/a\u003e and the release notes for \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-RC1\"\u003e1.17.0-RC1\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M3\"\u003e1.17.0-M3\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M2\"\u003e1.17.0-M2\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M1\"\u003e1.17.0-M1\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException when using LongTaskTimer \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/3877\"\u003e#3877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJetty 12's TimedHandler marks some requests with outcome UNKNOWN \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeterRegistry closes HighCardinalityTagsDetector twice if the registry is closed twice \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7409\"\u003e#7409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce allocation in HTTP server instrumentation \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce allocation in gRPC server convention \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7581\"\u003e#7581\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\u003eClarify time series produced by LongTaskTimer when using Prometheus \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6507\"\u003e#6507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument metrics that need to close the MeterBinder \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/4624\"\u003e#4624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMultigauge Documentation lacks overwrite=true \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/4403\"\u003e#4403\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.dynatrace.metric.util:dynatrace-metric-utils-java from 2.4.0 to 2.5.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7452\"\u003e#7452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.auth:google-auth-library-oauth2-http from 1.43.0 to 1.48.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7397\"\u003e#7397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.cloud:google-cloud-monitoring from 3.89.0 to 3.94.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7398\"\u003e#7398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.cloud:libraries-bom from 26.79.0 to 26.83.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7497\"\u003e#7497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.netflix.spectator:spectator-reg-atlas from 1.9.6 to 1.9.9 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7552\"\u003e#7552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dropwizard-metrics from 4.2.38 to 4.2.39 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7527\"\u003e#7527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.prometheus:prometheus-metrics-bom from 1.5.1 to 1.7.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7572\"\u003e#7572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump software.amazon.awssdk:cloudwatch from 2.42.32 to 2.46.4 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7494\"\u003e#7494\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThank you to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/blaspat\"\u003e\u003ccode\u003e@​blaspat\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/codingkiddo\"\u003e\u003ccode\u003e@​codingkiddo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/izeye\"\u003e\u003ccode\u003e@​izeye\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jewoodev\"\u003e\u003ccode\u003e@​jewoodev\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/schiemon\"\u003e\u003ccode\u003e@​schiemon\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.17.0-RC1\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd meter for ForkJoinPool#getDelayedTaskCount \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6381\"\u003e#6381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for JDK 26's MemoryPoolMXBean.getTotalGcCpuTime() \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7245\"\u003e#7245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClear the state of the ObservationValidator \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7337\"\u003e#7337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove exemplars sizing and add exemplarsSize config \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7324\"\u003e#7324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLog warning when a registry is added to composite after meter registration \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6908\"\u003e#6908\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat OkHttp Request as non-nullable \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7388\"\u003e#7388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eObservation.Scope\u003c/code\u003e closing when using TestObservationRegistry \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6329\"\u003e#6329\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\u003eInvalid reflection hint in micrometer-core for native GraalVM 25 build \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7316\"\u003e#7316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eObservationGrpcClientInterceptor throws NPE when NameResolver returns empty authority \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7380\"\u003e#7380\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/micrometer-metrics/micrometer/commit/8466feab03a1c6bdb9c2f854e3aa31affc52a356\"\u003e\u003ccode\u003e8466fea\u003c/code\u003e\u003c/a\u003e Merge branch '1.16.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/fa2ed3265e1f423c2fc4bd5c582b459d0c2ab082\"\u003e\u003ccode\u003efa2ed32\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/dc2e5e2ea33a41a271b4b40e796ef39f1ed056af\"\u003e\u003ccode\u003edc2e5e2\u003c/code\u003e\u003c/a\u003e Reduce allocation in gRPC server convention\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/36da131525228188a36779a28471a76c79213dd4\"\u003e\u003ccode\u003e36da131\u003c/code\u003e\u003c/a\u003e Reduce allocation in HTTP server instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/9591cb40a9bfb5ec0743da1dd9760d4e07a9dd70\"\u003e\u003ccode\u003e9591cb4\u003c/code\u003e\u003c/a\u003e Bump com.uber.nullaway:nullaway from 0.13.5 to 0.13.6 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7575\"\u003e#7575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/7a92a446994b1a24c9994093ff460f2040bcbe76\"\u003e\u003ccode\u003e7a92a44\u003c/code\u003e\u003c/a\u003e Bump software.amazon.awssdk:cloudwatch from 2.46.3 to 2.46.4 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7576\"\u003e#7576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/e11e7c6b3e579c607393905732d3b9b1f5863e95\"\u003e\u003ccode\u003ee11e7c6\u003c/code\u003e\u003c/a\u003e Merge branch '1.16.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/d8e8bcb56b5c48cf015c56ea324cc4ebdea976fc\"\u003e\u003ccode\u003ed8e8bcb\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/cf6ac0231a6115420fcfcd90eb530ea327d1d98a\"\u003e\u003ccode\u003ecf6ac02\u003c/code\u003e\u003c/a\u003e Reduce flakiness of PushMeterRegistryTest (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7574\"\u003e#7574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/d74759acf5de309aef7dd6cc862e37501866814c\"\u003e\u003ccode\u003ed74759a\u003c/code\u003e\u003c/a\u003e Bump com.google.cloud:google-cloud-monitoring from 3.93.0 to 3.94.0 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7573\"\u003e#7573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/micrometer-metrics/micrometer/compare/v1.16.5...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations` from 2.28.1 to 2.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and 64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to \u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now and log a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and \u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv stability setting. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names and \u003ccode\u003edb.*\u003c/code\u003e attributes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18808\"\u003e#18808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18853\"\u003e#18853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18920\"\u003e#18920\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18922\"\u003e#18922\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18926\"\u003e#18926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18930\"\u003e#18930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18970\"\u003e#18970\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18979\"\u003e#18979\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18980\"\u003e#18980\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18984\"\u003e#18984\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18985\"\u003e#18985\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18986\"\u003e#18986\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18987\"\u003e#18987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18989\"\u003e#18989\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18990\"\u003e#18990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18992\"\u003e#18992\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18993\"\u003e#18993\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19004\"\u003e#19004\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19005\"\u003e#19005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture query text and parameterization for Cassandra batch statements. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18964\"\u003e#18964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003eopentelemetry-api\u003c/code\u003e and \u003ccode\u003eopentelemetry-instrumentation-annotations\u003c/code\u003e enabled under \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e even when \u003ccode\u003edefault-enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18792\"\u003e#18792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, affected instrumentations emit \u003ccode\u003euser.*\u003c/code\u003e identity attributes instead of \u003ccode\u003eenduser.*\u003c/code\u003e ones. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18795\"\u003e#18795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kafka client metrics by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18828\"\u003e#18828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecognize Amazon Aurora DSQL and AWS wrapper JDBC URL prefixes when parsing JDBC connection metadata. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18831\"\u003e#18831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet instrumentation versions on emitted Meter scopes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18866\"\u003e#18866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation after other instrumentations so other advice can attach attributes to the active span. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18874\"\u003e#18874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit database client failures as \u003ccode\u003edb.client.operation.exception\u003c/code\u003e logs when \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18889\"\u003e#18889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit RPC exceptions as log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18890\"\u003e#18890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit messaging exceptions as log records under \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18891\"\u003e#18891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efaas.invocation.exception\u003c/code\u003e log records for FaaS exceptions when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18892\"\u003e#18892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003egen_ai.client.operation.exception\u003c/code\u003e logs for OpenAI chat and embeddings failures when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18893\"\u003e#18893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit AWS SDK request failures as \u003ccode\u003erpc.client.call.exception\u003c/code\u003e log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18894\"\u003e#18894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeclarative configuration now supports per-domain semantic-convention selection using \u003ccode\u003esemconv.version\u003c/code\u003e, \u003ccode\u003esemconv.experimental\u003c/code\u003e, and \u003ccode\u003esemconv.dual_emit\u003c/code\u003e settings. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18908\"\u003e#18908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, use \u003ccode\u003eotel.semconv-stability.preview\u003c/code\u003e instead of \u003ccode\u003eotel.semconv-stability.opt-in\u003c/code\u003e to opt in to the nonstable \u003ccode\u003eservice.peer\u003c/code\u003e and \u003ccode\u003erpc\u003c/code\u003e semantic conventions. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18914\"\u003e#18914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kotlin coroutines \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18919\"\u003e#18919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the summary-aware path in \u003ccode\u003eSqlQueryAnalyzer.analyze()\u003c/code\u003e when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18921\"\u003e#18921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, deprecated JDBC/db sanitization config names are ignored in favor of \u003ccode\u003edb.query_sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18934\"\u003e#18934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003ejvm.gc.cause\u003c/code\u003e on GC duration metrics when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18967\"\u003e#18967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit duration metrics for JDBC transaction operations \u003ccode\u003eCOMMIT\u003c/code\u003e and \u003ccode\u003eROLLBACK\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19003\"\u003e#19003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a generated \u003ccode\u003eInstrumentationVersion\u003c/code\u003e class in OkHttp 3.0 instead of reading embedded version properties, avoiding Android StrictMode disk-read violations. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19006\"\u003e#19006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd thread details span attributes for declarative Spring starter configuration when \u003ccode\u003edistribution.spring_starter.thread_details_enabled\u003c/code\u003e is set. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19008\"\u003e#19008\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\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/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0 (2026-06-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and\n64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names\ndeprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to\n\u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now\nand log a warning.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with\n\u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and\n\u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv\nstability setting.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in\n(\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names\nand \u003ccode\u003edb.*\u003c/code\u003e attributes.\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/open-telemetry/opentelemetry-java-instrumentation/commit/c215cb489a90d95c2ea5808fbdcd2f7d81d2f2ae\"\u003e\u003ccode\u003ec215cb4\u003c/code\u003e\u003c/a\u003e [release/v2.29.x] Prepare release 2.29.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19042\"\u003e#19042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/8e25e07fb2bab7bd4e954d7bb744f977e9dbe785\"\u003e\u003ccode\u003e8e25e07\u003c/code\u003e\u003c/a\u003e Draft release notes (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19040\"\u003e#19040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/63de06bb3c29dd0cdf4059b5b755bb6bbde7fe71\"\u003e\u003ccode\u003e63de06b\u003c/code\u003e\u003c/a\u003e Update pinned latest dep versions (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19033\"\u003e#19033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/5f25ddfdde5f5e410e4bd3d87be531298f6cb5eb\"\u003e\u003ccode\u003e5f25ddf\u003c/code\u003e\u003c/a\u003e fix(deps): update quarkus packages to v3.37.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19031\"\u003e#19031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/16c6d2a40218c0e632b1c177e7ec381a340c0804\"\u003e\u003ccode\u003e16c6d2a\u003c/code\u003e\u003c/a\u003e fix(deps): update armeria packages to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19032\"\u003e#19032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/a5ad92266f119e02d7062f34c5d2e7540be87f52\"\u003e\u003ccode\u003ea5ad922\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency commons-logging:commons-logging to v1.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19030\"\u003e#19030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/0fe64a2f6c5f0d1924b5e9b2b174858970d0efbf\"\u003e\u003ccode\u003e0fe64a2\u003c/code\u003e\u003c/a\u003e Run openserch asyn callbacks with parent context (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19027\"\u003e#19027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/23da7602a2b7d95f9383f8ca241e088846d85f0e\"\u003e\u003ccode\u003e23da760\u003c/code\u003e\u003c/a\u003e Set request timeout only for the read timeout test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19025\"\u003e#19025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/7698f71f67b5e7d0e52db6030ccb873550b39fdf\"\u003e\u003ccode\u003e7698f71\u003c/code\u003e\u003c/a\u003e Set query timeouts for camel cassandara test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19026\"\u003e#19026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/6fd466c821b1c3d874a921a920310328d34601a7\"\u003e\u003ccode\u003e6fd466c\u003c/code\u003e\u003c/a\u003e Add another port wait for hadoop test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19028\"\u003e#19028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.28.1...v2.29.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-test-junit` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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/JetBrai...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/tsm-behandlingsdager/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Ftsm-behandlingsdager/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"},{"uuid":"4717024842","node_id":"PR_kwDOLPjc487pMDDU","number":92,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-24T01:24:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T13:23:13.000Z","updated_at":"2026-06-24T01:24:10.000Z","time_to_close":129656,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"org.postgresql:r2dbc-postgresql","old_version":"1.1.1.RELEASE","new_version":"1.1.2.RELEASE","repository_url":"https://github.com/pgjdbc/r2dbc-postgresql"},{"name":"org.flywaydb:flyway-core","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb.flyway","old_version":"12.8.1","new_version":"12.9.0"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| [org.postgresql:r2dbc-postgresql](https://github.com/pgjdbc/r2dbc-postgresql) | `1.1.1.RELEASE` | `1.1.2.RELEASE` |\n| org.flywaydb:flyway-core | `12.8.1` | `12.9.0` |\n| org.flywaydb:flyway-database-postgresql | `12.8.1` | `12.9.0` |\n| org.flywaydb.flyway | `12.8.1` | `12.9.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations` from 2.28.1 to 2.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and 64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to \u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now and log a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and \u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv stability setting. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names and \u003ccode\u003edb.*\u003c/code\u003e attributes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18808\"\u003e#18808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18853\"\u003e#18853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18920\"\u003e#18920\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18922\"\u003e#18922\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18926\"\u003e#18926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18930\"\u003e#18930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18970\"\u003e#18970\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18979\"\u003e#18979\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18980\"\u003e#18980\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18984\"\u003e#18984\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18985\"\u003e#18985\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18986\"\u003e#18986\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18987\"\u003e#18987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18989\"\u003e#18989\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18990\"\u003e#18990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18992\"\u003e#18992\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18993\"\u003e#18993\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19004\"\u003e#19004\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19005\"\u003e#19005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture query text and parameterization for Cassandra batch statements. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18964\"\u003e#18964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003eopentelemetry-api\u003c/code\u003e and \u003ccode\u003eopentelemetry-instrumentation-annotations\u003c/code\u003e enabled under \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e even when \u003ccode\u003edefault-enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18792\"\u003e#18792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, affected instrumentations emit \u003ccode\u003euser.*\u003c/code\u003e identity attributes instead of \u003ccode\u003eenduser.*\u003c/code\u003e ones. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18795\"\u003e#18795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kafka client metrics by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18828\"\u003e#18828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecognize Amazon Aurora DSQL and AWS wrapper JDBC URL prefixes when parsing JDBC connection metadata. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18831\"\u003e#18831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet instrumentation versions on emitted Meter scopes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18866\"\u003e#18866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation after other instrumentations so other advice can attach attributes to the active span. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18874\"\u003e#18874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit database client failures as \u003ccode\u003edb.client.operation.exception\u003c/code\u003e logs when \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18889\"\u003e#18889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit RPC exceptions as log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18890\"\u003e#18890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit messaging exceptions as log records under \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18891\"\u003e#18891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efaas.invocation.exception\u003c/code\u003e log records for FaaS exceptions when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18892\"\u003e#18892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003egen_ai.client.operation.exception\u003c/code\u003e logs for OpenAI chat and embeddings failures when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18893\"\u003e#18893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit AWS SDK request failures as \u003ccode\u003erpc.client.call.exception\u003c/code\u003e log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18894\"\u003e#18894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeclarative configuration now supports per-domain semantic-convention selection using \u003ccode\u003esemconv.version\u003c/code\u003e, \u003ccode\u003esemconv.experimental\u003c/code\u003e, and \u003ccode\u003esemconv.dual_emit\u003c/code\u003e settings. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18908\"\u003e#18908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, use \u003ccode\u003eotel.semconv-stability.preview\u003c/code\u003e instead of \u003ccode\u003eotel.semconv-stability.opt-in\u003c/code\u003e to opt in to the nonstable \u003ccode\u003eservice.peer\u003c/code\u003e and \u003ccode\u003erpc\u003c/code\u003e semantic conventions. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18914\"\u003e#18914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kotlin coroutines \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18919\"\u003e#18919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the summary-aware path in \u003ccode\u003eSqlQueryAnalyzer.analyze()\u003c/code\u003e when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18921\"\u003e#18921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, deprecated JDBC/db sanitization config names are ignored in favor of \u003ccode\u003edb.query_sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18934\"\u003e#18934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003ejvm.gc.cause\u003c/code\u003e on GC duration metrics when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18967\"\u003e#18967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit duration metrics for JDBC transaction operations \u003ccode\u003eCOMMIT\u003c/code\u003e and \u003ccode\u003eROLLBACK\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19003\"\u003e#19003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a generated \u003ccode\u003eInstrumentationVersion\u003c/code\u003e class in OkHttp 3.0 instead of reading embedded version properties, avoiding Android StrictMode disk-read violations. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19006\"\u003e#19006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd thread details span attributes for declarative Spring starter configuration when \u003ccode\u003edistribution.spring_starter.thread_details_enabled\u003c/code\u003e is set. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19008\"\u003e#19008\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\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/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0 (2026-06-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and\n64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names\ndeprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to\n\u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now\nand log a warning.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with\n\u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and\n\u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv\nstability setting.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in\n(\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names\nand \u003ccode\u003edb.*\u003c/code\u003e attributes.\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/open-telemetry/opentelemetry-java-instrumentation/commit/c215cb489a90d95c2ea5808fbdcd2f7d81d2f2ae\"\u003e\u003ccode\u003ec215cb4\u003c/code\u003e\u003c/a\u003e [release/v2.29.x] Prepare release 2.29.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19042\"\u003e#19042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/8e25e07fb2bab7bd4e954d7bb744f977e9dbe785\"\u003e\u003ccode\u003e8e25e07\u003c/code\u003e\u003c/a\u003e Draft release notes (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19040\"\u003e#19040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/63de06bb3c29dd0cdf4059b5b755bb6bbde7fe71\"\u003e\u003ccode\u003e63de06b\u003c/code\u003e\u003c/a\u003e Update pinned latest dep versions (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19033\"\u003e#19033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/5f25ddfdde5f5e410e4bd3d87be531298f6cb5eb\"\u003e\u003ccode\u003e5f25ddf\u003c/code\u003e\u003c/a\u003e fix(deps): update quarkus packages to v3.37.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19031\"\u003e#19031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/16c6d2a40218c0e632b1c177e7ec381a340c0804\"\u003e\u003ccode\u003e16c6d2a\u003c/code\u003e\u003c/a\u003e fix(deps): update armeria packages to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19032\"\u003e#19032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/a5ad92266f119e02d7062f34c5d2e7540be87f52\"\u003e\u003ccode\u003ea5ad922\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency commons-logging:commons-logging to v1.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19030\"\u003e#19030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/0fe64a2f6c5f0d1924b5e9b2b174858970d0efbf\"\u003e\u003ccode\u003e0fe64a2\u003c/code\u003e\u003c/a\u003e Run openserch asyn callbacks with parent context (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19027\"\u003e#19027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/23da7602a2b7d95f9383f8ca241e088846d85f0e\"\u003e\u003ccode\u003e23da760\u003c/code\u003e\u003c/a\u003e Set request timeout only for the read timeout test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19025\"\u003e#19025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/7698f71f67b5e7d0e52db6030ccb873550b39fdf\"\u003e\u003ccode\u003e7698f71\u003c/code\u003e\u003c/a\u003e Set query timeouts for camel cassandara test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19026\"\u003e#19026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/6fd466c821b1c3d874a921a920310328d34601a7\"\u003e\u003ccode\u003e6fd466c\u003c/code\u003e\u003c/a\u003e Add another port wait for hadoop test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19028\"\u003e#19028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.28.1...v2.29.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-test-junit` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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/v2.3.21...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.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...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.jetbrains.kotlin.plugin.serialization` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.kotest:kotest-assertions-core` from 6.1.11 to 6.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kotest/kotest/releases\"\u003eio.kotest:kotest-assertions-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add KDoc to ArrayEq by \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/regulus-maximus/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fregulus-maximus/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"},{"uuid":"4714713379","node_id":"PR_kwDOJkmCj87pEYP_","number":567,"state":"closed","title":"Bump the libs group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-10T09:33:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T08:11:42.000Z","updated_at":"2026-07-10T09:33:55.000Z","time_to_close":1560132,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-bom","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-bom","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-bom","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1-0.6.x-compat","new_version":"0.8.0-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"io.arrow-kt:arrow-stack","old_version":"2.2.1.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.ktor:ktor-bom","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.webjars:swagger-ui","old_version":"5.30.2","new_version":"5.32.6","repository_url":"https://github.com/swagger-api/swagger-ui"},{"name":"com.google.crypto.tink:tink","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"com.sksamuel.aedile:aedile-core","old_version":"2.1.2","new_version":"3.0.4","repository_url":"https://github.com/sksamuel/aedile"},{"name":"eu.europa.ec.eudi:etsi-1196x2-consultation","old_version":"0.3.0-alpha.4","new_version":"0.3.0-alpha.5","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-etsi-1196x2"},{"name":"org.springframework.boot","old_version":"4.0.1","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.2.2"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.4","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.6.0` |\n| [org.jetbrains.kotlin:kotlin-bom](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-bom](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-bom](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1-0.6.x-compat` | `0.8.0-0.6.x-compat` |\n| [io.arrow-kt:arrow-stack](https://github.com/arrow-kt/arrow) | `2.2.1.1` | `2.2.3` |\n| [io.ktor:ktor-bom](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [org.webjars:swagger-ui](https://github.com/swagger-api/swagger-ui) | `5.30.2` | `5.32.6` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.21.0` | `1.22.0` |\n| [com.sksamuel.aedile:aedile-core](https://github.com/sksamuel/aedile) | `2.1.2` | `3.0.4` |\n| [eu.europa.ec.eudi:etsi-1196x2-consultation](https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-etsi-1196x2) | `0.3.0-alpha.4` | `0.3.0-alpha.5` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.1` | `4.1.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.2.2` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.4` | `0.9.8` |\n\n\nUpdates `gradle-wrapper` from 9.2.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.2.1...v9.6.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-bom` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-bom'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\"\u003eorg.jetbrains.kotlin:kotlin-bom'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/v2.3.21...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.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...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.jetbrains.kotlin.plugin.spring` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.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\"\u003eorg.jetbrains.kotlin.plugin.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/v2.3.21...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.jetbrains.kotlin.plugin.serialization` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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/v2.3.21...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.jetbrains.kotlinx:kotlinx-coroutines-bom` from 1.10.2 to 1.11.0\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-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateF...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-srv-verifier-endpoint/pull/567","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-srv-verifier-endpoint/issues/567","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/567/packages"},{"uuid":"4713416884","node_id":"PR_kwDOIhBng87pAFuE","number":847,"state":"open","title":"deps(java): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","build_success","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-22T04:26:49.000Z","updated_at":"2026-06-22T04:29:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(java)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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","html_url":"https://github.com/quotidian-ennui/tesla-powerwall-exporter/pull/847","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/quotidian-ennui%2Ftesla-powerwall-exporter/issues/847","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/847/packages"},{"uuid":"4713194311","node_id":"PR_kwDOBKOics7o_Wed","number":1718,"state":"closed","title":"Bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-06T03:42:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T03:42:19.000Z","updated_at":"2026-07-06T03:42:44.000Z","time_to_close":1209623,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/TulevaEE/onboarding-service/pull/1718","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TulevaEE%2Fonboarding-service/issues/1718","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1718/packages"},{"uuid":"4712746054","node_id":"PR_kwDOKQhBbs7o97h-","number":171,"state":"closed","title":"Bump com.diffplug.spotless from 6.25.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-06T01:52:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T01:52:33.000Z","updated_at":"2026-07-06T01:52:45.000Z","time_to_close":1209611,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 6.25.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=6.25.0\u0026new-version=8.7.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/mkutz/untangle-your-spaghetti-test-code/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkutz%2Funtangle-your-spaghetti-test-code/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"},{"uuid":"4709232062","node_id":"PR_kwDOL3gMyM7ozLtt","number":200,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-04T09:23:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-21T03:42:08.000Z","updated_at":"2026-07-04T09:23:53.000Z","time_to_close":1143704,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/LukasW01/mood/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasW01%2Fmood/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"},{"uuid":"4700968309","node_id":"PR_kwDOKU9USs7oYqve","number":553,"state":"open","title":"Bump the libs group across 1 directory with 9 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-06-19T13:11:54.000Z","updated_at":"2026-07-13T06:07:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":9,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.37","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.google.crypto.tink:tink","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.44.0","new_version":"4.45.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.8.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.37.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.6.1` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.37` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.21.0` | `1.22.0` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.44.0` | `4.45.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n| com.diffplug.spotless | `7.0.2` | `8.8.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.37.0` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\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/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\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/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.32 to 1.5.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.5.37\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-26 Release of logback version 1.5.37\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an \u003ca href=\"https://logback.qos.ch/translator/services/conditionalConfigMigrator.html\"\u003eonline migration service\u003c/a\u003e or the \u003ccode\u003e\u0026lt;condition\u0026gt;\u003c/code\u003e element introduced in version 1.5.20. See the \u003ca href=\"https://logback.qos.ch/manual/configuration.html#conditional\"\u003erelevant documentation\u003c/a\u003e for more details.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.36\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-25 Release of logback version 1.5.36\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now reject certain references that are associated with ACE attacks. This issue was reported by \u0026quot;yulate\u0026quot; (\u003ca href=\"mailto:yulate531@gmail.com.com\"\u003eyulate531@gmail.com.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e. \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 9b94c37562bf25a6a944146701d42ee6c4eee888 associated with the tag v_1.5.36. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.35\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e026-06-23 Release of logback version 1.5.35\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now rejects unicode escape sequences (\\u and \\U). This closes a bypass of the existing prohibition on the new operator in Janino-evaluated conditions. This issue was reported by IcySun (\u003ca href=\"mailto:icysun@qq.com\"\u003eicysun@qq.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e.  \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• Added \u003ccode\u003eConfiguratorRank.AUTHENTICATING\u003c/code\u003e (rank 100), the highest configurator rank, for certified/authenticating configurators discovered via the ServiceLoader mechanism. \u003ccode\u003eContextInitializer\u003c/code\u003e now requires that at most one such configurator exist on the classpath; if more than one is found, initialization aborts with an error.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eConsoleCharsetPropertyDefiner\u003c/code\u003e is no longer shipped. The Java 21 multi-release compilation of logback-core has been disabled, which removes this class from the published artifact. Configurations that referenced \u003ccode\u003ech.qos.logback.core.property.ConsoleCharsetPropertyDefiner\u003c/code\u003e will need an alternative approach for console charset detection.\u003c/p\u003e\n\u003cp\u003e• The logback-examples module is now included in artifacts published to Maven Central.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eJoranConfigurator.makeAnotherInstance()\u003c/code\u003e and \u003ccode\u003eDefaultJoranConfigurator.performMultiStepConfigurationFileSearch()\u003c/code\u003e are now protected, allowing derived configurators to override these methods.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 08bd1598d565d83444f72983935e7da4746783b7 associated with the tag v_1.5.35. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.34\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-01 Release of logback version 1.5.34\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In case certain StackTraceElement values returned by the Throwable.getStackTrace method are null, StackTraceElementProxy substitutes a dummy instance instead of throwing an IllegalArgumentException. This resolves [issues \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003e#1040\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003eqos-ch/logback#1040\u003c/a\u003e), reported by Naotsugu Kobayashi.\u003c/p\u003e\n\u003cp\u003e• HardenedObjectInputStream will now throw an InvalidClassException during deserialization attempts of Proxy classes. This change addresses potential deserialization whitelist bypass vulnerability reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-10532\"\u003eCVE-2026-10532\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit e62272ac152469aec1ede056c3c7d0d7314e7bfe associated with the tag v_1.5.34. This release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.33\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-05-27 Release of logback version 1.5.33\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003ePropertiesConfiguratorModelHandler\u003c/code\u003e now registers properties file URLs to the \u003ccode\u003eConfigurationWatchList\u003c/code\u003e when scan is enabled (via local scan=\u0026quot;true\u0026quot; attribute or top-level configuration scan), ensuring changes are detected and reconfiguration occurs. This problem was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1034\"\u003eissues/1034\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• When processing \u003ccode\u003e\u0026lt;conversionRule\u0026gt;\u003c/code\u003e elements and both \u003ccode\u003eclass\u003c/code\u003e and \u003ccode\u003econverterClass\u003c/code\u003e attributes are specified, silently use the class attribute without issuing a warning. However, if the attribute values differ, a warning will be issued. This change was requested in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1031\"\u003eissues/1031\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eHardenedModelInputStream\u003c/code\u003e will no longer accept to deserialize all classes located under the \u0026quot;java.lang\u0026quot; and \u0026quot;java.util\u0026quot; packages but a limited number of explicitly authorized classes in those packages. This potential deserialization whitelist bypass vulnerability was reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-9828\"\u003eCVE-2026-9828\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• SSL parameters for \u003ccode\u003eSSLSocketAppender\u003c/code\u003e now enable hostname verification by default. Moreover, the default protocol is now \u0026quot;TLSv1.2\u0026quot;. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• When printing the status message field, \u003ccode\u003eViewStatusMessagesServletBase\u003c/code\u003e now escapes special characters such as \u0026quot;\u0026amp;\u0026quot; as character entities. This potential vulnerability was reported by York Shen.\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/qos-ch/logback/commit/c1df7f522e648eec7b4ef6a12c8758fec0f00048\"\u003e\u003ccode\u003ec1df7f5\u003c/code\u003e\u003c/a\u003e prepare release 1.5.37\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/a1899674579c67711a4fff6bdc569f4bfb25ead5\"\u003e\u003ccode\u003ea189967\u003c/code\u003e\u003c/a\u003e remove conditional based on janino\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/aaa905292dc24235a0cd7514c4815d0eeb6c0446\"\u003e\u003ccode\u003eaaa9052\u003c/code\u003e\u003c/a\u003e start work on 1.5.37-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/9b94c37562bf25a6a944146701d42ee6c4eee888\"\u003e\u003ccode\u003e9b94c37\u003c/code\u003e\u003c/a\u003e prepare release 1.5.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/e6a8280ba2c61a448226bccbced70444aaa6e7eb\"\u003e\u003ccode\u003ee6a8280\u003c/code\u003e\u003c/a\u003e prevent attacks using disallowed references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/24c4b63f60e5bbfa591c20cf39f2ce50ff8cff4f\"\u003e\u003ccode\u003e24c4b63\u003c/code\u003e\u003c/a\u003e start work on 1.5.36-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/08bd1598d565d83444f72983935e7da4746783b7\"\u003e\u003ccode\u003e08bd159\u003c/code\u003e\u003c/a\u003e preapre release 1.5.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/37d256b825fc62b4a3908fa29d8b4e34acf79ed0\"\u003e\u003ccode\u003e37d256b\u003c/code\u003e\u003c/a\u003e indentation changes only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d3d73078afbb0691423f60a066d77503fdf05fc3\"\u003e\u003ccode\u003ed3d7307\u003c/code\u003e\u003c/a\u003e minor comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/fa0411a9393282ba69396ce65f122d281c079ac0\"\u003e\u003ccode\u003efa0411a\u003c/code\u003e\u003c/a\u003e radomize file location\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.5.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.crypto.tink:tink` from 1.21.0 to 1.22.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.22.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.22.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe complete list of changes since 1.21.0 can be found \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.21.0...v1.22.0\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003eMutableKeyDerivationRegistry\u003c/code\u003e, key derivation no longer occurs within a synchronized block.\u003c/li\u003e\n\u003cli\u003eMaven signatures are now more usual ASCII-armored GPG signatures instead of binary signatures.\u003c/li\u003e\n\u003cli\u003eAdded predefined signature parameters for \u003ccode\u003eSLH-DSA\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eML-DSA-44\u003c/code\u003e signature primitive and PEM import.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSignatureJwkSetConverter\u003c/code\u003e, which is a utility library that converts signature public keys from and to a JWK set.\u003c/li\u003e\n\u003cli\u003eTink now correctly contains \u003ccode\u003eclass\u003c/code\u003e files which target Java Version 11 (major version 55). Tink requires Java 11 since Tink 1.19: \u003ca href=\"https://github.com/tink-crypto/tink-java/releases/tag/v1.19.0\"\u003ehttps://github.com/tink-crypto/tink-java/releases/tag/v1.19.0\u003c/a\u003e. See also \u003ca href=\"https://redirect.github.com/tink-crypto/tink-java/issues/68\"\u003etink-crypto/tink-java#68\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eStop running tests on API 23, in preparation for increasing Tink's minSdkVersion to 24 in line with androidx. See \u003ca href=\"https://issuetracker.google.com/issues/474169350\"\u003ehttps://issuetracker.google.com/issues/474169350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded more no-prefix variants to predefined MAC and Signature parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaven:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.crypto.tink\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;tink\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.22.0\u0026lt;/version\u0026gt;\r\n\u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eGradle:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003edependencies {\r\n  implementation 'com.google.crypto.tink:tink-android:1.22.0'\r\n}\r\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;)\r\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.22.0\u0026quot;,\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/tink-crypto/tink-java/commit/7305a6a66d63eebb5ae34238fcc7783d3eeae90b\"\u003e\u003ccode\u003e7305a6a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003etink-java\u003c/code\u003e version to \u003ccode\u003e1.22.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/148b67b5a5dfc389e9be55745c04f1f062fe23b1\"\u003e\u003ccode\u003e148b67b\u003c/code\u003e\u003c/a\u003e Add XWing HPKE to HpkePrivateKeyManager.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/d574ca6a2327c2221a382ca4cd5c548840128979\"\u003e\u003ccode\u003ed574ca6\u003c/code\u003e\u003c/a\u003e Change ProtoKeySerializer to take ProtoParametersSerialization instead of Bytes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/1b3d38a0e6577da5d52eac64a4b3c50b4b0ce1f5\"\u003e\u003ccode\u003e1b3d38a\u003c/code\u003e\u003c/a\u003e Change Configuration.get to getOrNull.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/33139529c15d175fa4e98e06296124f7cdff8fcb\"\u003e\u003ccode\u003e3313952\u003c/code\u003e\u003c/a\u003e Cleanups.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/dcd184e0b6c41d9999153bad8f5fbf189f77e799\"\u003e\u003ccode\u003edcd184e\u003c/code\u003e\u003c/a\u003e Move the class ProtoParametersSerialization from internal to Tink's public API.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/e77c6eab09fbcf1071e6e686e50eb141933b77db\"\u003e\u003ccode\u003ee77c6ea\u003c/code\u003e\u003c/a\u003e Use the RegistryConfig instead of MutableSerializationRegistry to parse/seria...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/f77832408001990a03a66469155b57758f7743d4\"\u003e\u003ccode\u003ef778324\u003c/code\u003e\u003c/a\u003e Use Parsing with Fallback in the RegistryConfiguration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/61a8d22cc04034c6573d5d56cd1e6c8ce7b1e0cd\"\u003e\u003ccode\u003e61a8d22\u003c/code\u003e\u003c/a\u003e Also register a parameters serializer for LegacyProtoParameters in the Mutabl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/0ed08224643d3138223a57193d6c191810d99913\"\u003e\u003ccode\u003e0ed0822\u003c/code\u003e\u003c/a\u003e Remove Serialization.java.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.21.0...v1.22.0\"\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.83 to 1.84\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\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 `org.seleniumhq.selenium:selenium-java` from 4.44.0 to 4.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SeleniumHQ/selenium/releases\"\u003eorg.seleniumhq.selenium:selenium-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSelenium 4.45.0\u003c/h2\u003e\n\u003ch2\u003eDetailed Changelogs by Component\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG\"\u003eJava\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES\"\u003ePython\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG\"\u003eDotNet\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES\"\u003eRuby\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md\"\u003eJavaScript\u003c/a\u003e\u003c/strong\u003e\n\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[build] derive PR diff base from HEAD^1 instead of trunk tip by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17438\"\u003eSeleniumHQ/selenium#17438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] setup trusted publishing from Github to npmrc by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17445\"\u003eSeleniumHQ/selenium#17445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] generate release notes from previous minor release tag by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17449\"\u003eSeleniumHQ/selenium#17449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] fix when to update lock files during the release process by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17450\"\u003eSeleniumHQ/selenium#17450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] remove deprecated logging classes by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17453\"\u003eSeleniumHQ/selenium#17453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[grid] Close pre-handshake race in WebSocket proxy by \u003ca href=\"https://github.com/shs96c\"\u003e\u003ccode\u003e@​shs96c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17435\"\u003eSeleniumHQ/selenium#17435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[JavaScript] Correct handling for older browsers and missing casing by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17451\"\u003eSeleniumHQ/selenium#17451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse pyproject for Python runtime deps lock input by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17452\"\u003eSeleniumHQ/selenium#17452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] deprecate curb http client support by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17443\"\u003eSeleniumHQ/selenium#17443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[javascript] Migrate find-elements atom from Closure to TypeScript by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17458\"\u003eSeleniumHQ/selenium#17458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] replace rules_python sphinxdocs with local sphinx_docs rule by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17461\"\u003eSeleniumHQ/selenium#17461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Configure Renovate dashboard approval by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17464\"\u003eSeleniumHQ/selenium#17464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update vulnerable dependency with a range by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17466\"\u003eSeleniumHQ/selenium#17466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] remove duplicated grid ui tests by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17468\"\u003eSeleniumHQ/selenium#17468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update java graphpql dependency by filtering out bad reference by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17469\"\u003eSeleniumHQ/selenium#17469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] upgrade to steep 2.0 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17470\"\u003eSeleniumHQ/selenium#17470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17472\"\u003eSeleniumHQ/selenium#17472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update GitHub Actions to latest major versions by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17475\"\u003eSeleniumHQ/selenium#17475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] update dev dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17474\"\u003eSeleniumHQ/selenium#17474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] fix template caching by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17476\"\u003eSeleniumHQ/selenium#17476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] update system.text.json to 8.0.6 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17477\"\u003eSeleniumHQ/selenium#17477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update dev dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17479\"\u003eSeleniumHQ/selenium#17479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] upgrade paket from v9 to v10 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17481\"\u003eSeleniumHQ/selenium#17481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump bazel version to 9.1 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17480\"\u003eSeleniumHQ/selenium#17480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update zip to v8 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17485\"\u003eSeleniumHQ/selenium#17485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update eslint to v10 with fixes by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17482\"\u003eSeleniumHQ/selenium#17482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] Update ruby to 3.3.9 by \u003ca href=\"https://github.com/aguspe\"\u003e\u003ccode\u003e@​aguspe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17484\"\u003eSeleniumHQ/selenium#17484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] include snupkg files when packaging things up and allow the use of sourcelink by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17467\"\u003eSeleniumHQ/selenium#17467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update download-artifact to v8 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17493\"\u003eSeleniumHQ/selenium#17493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] run format against slnx instead of looping csproj by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17483\"\u003eSeleniumHQ/selenium#17483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump low-risk Bazel module dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17494\"\u003eSeleniumHQ/selenium#17494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update reqwest to 0.13 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17488\"\u003eSeleniumHQ/selenium#17488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [build] Fix remote linkage in SourceLink by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17495\"\u003eSeleniumHQ/selenium#17495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] remove renovate update requests pending work done in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17427\"\u003e#17427\u003c/a\u003e by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17498\"\u003eSeleniumHQ/selenium#17498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [build] Support deterministic build output by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17497\"\u003eSeleniumHQ/selenium#17497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump ruby versions to latest patch releases by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17496\"\u003eSeleniumHQ/selenium#17496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] remove npm dependency by using bazel for everything by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17499\"\u003eSeleniumHQ/selenium#17499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump rules_jvm_external by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17501\"\u003eSeleniumHQ/selenium#17501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump rules_closure version by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17500\"\u003eSeleniumHQ/selenium#17500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] clarify dependency pin and update tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17463\"\u003eSeleniumHQ/selenium#17463\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/SeleniumHQ/selenium/commit/cd6a3cdfca6970f62e5bc8344109d0fe0e2af05e\"\u003e\u003ccode\u003ecd6a3cd\u003c/code\u003e\u003c/a\u003e [build] Prepare for release of selenium-4.45.0 (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17680\"\u003e#17680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/15fad06cba4d0eb577bf3891954ecaf81e9a11d8\"\u003e\u003ccode\u003e15fad06\u003c/code\u003e\u003c/a\u003e [build] Automated Browser Version Update (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17679\"\u003e#17679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/cb9b6fdbabdc1ed68a8bdbf31a4222c0396fe2fd\"\u003e\u003ccode\u003ecb9b6fd\u003c/code\u003e\u003c/a\u003e [grid] Add support Redis-backed for SessionQueue (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17678\"\u003e#17678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/18bb1d97d3db196522aa9b3873a350dc40d3ccb8\"\u003e\u003ccode\u003e18bb1d9\u003c/code\u003e\u003c/a\u003e [py] terminate driver service process when start() fails to connect (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17651\"\u003e#17651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/b3164ef7d071b5add6750d686ffbae1b936cadf0\"\u003e\u003ccode\u003eb3164ef\u003c/code\u003e\u003c/a\u003e [grid] add HtmlUnit browser logo to Grid UI (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17656\"\u003e#17656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/bb741bd07b1c5e36054328627903b4507eaca9f5\"\u003e\u003ccode\u003ebb741bd\u003c/code\u003e\u003c/a\u003e [build] Automated Browser Version Update (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17658\"\u003e#17658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/887237c468022cb5e4637aa98404fac2de0c8d23\"\u003e\u003ccode\u003e887237c\u003c/code\u003e\u003c/a\u003e [py] translate continue_request/continue_response kwargs to BiDi wire format ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/f53de51c263c5ab0e598253a46286777a794ede0\"\u003e\u003ccode\u003ef53de51\u003c/code\u003e\u003c/a\u003e [rb] run minimize test on linux now that \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17644\"\u003e#17644\u003c/a\u003e fixed fluxbox startup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/3f37cce5cd7be6500ba90f44c994e140e27e3108\"\u003e\u003ccode\u003e3f37cce\u003c/code\u003e\u003c/a\u003e [rb] set window state before each window test instead of resetting driver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/2bfb9904f65649d7bcb6b4a678ac37c9909d2d22\"\u003e\u003ccode\u003e2bfb990\u003c/code\u003e\u003c/a\u003e [rb] skip Safari double_click action tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SeleniumHQ/selenium/compare/selenium-4.44.0...selenium-4.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.owasp.dependencycheck` from 12.2.0 to 12.2.2\n\nUpdates `com.diffplug.spotless` from 7.0.2 to 8.8.0\n\nUpdates `com.vanniktech.maven.publish` from 0.35.0 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases\"\u003ecom.vanniktech.maven.publish's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0-rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/blob/main/CHANGELOG.md\"\u003ecom.vanniktech.maven.publish's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.37.0\"\u003e0.37.0\u003c/a\u003e \u003cem\u003e(2026-06-21)\u003c/em\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.36.0\"\u003e0.36.0\u003c/a\u003e \u003cem\u003e(2026-01-13)\u003c/em\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated minimum supported JDK, Gradle, Android Gradle Plugin and Kotlin versions.\u003c/li\u003e\n\u003cli\u003eRemoved support for Dokka v1, it's now required to use Dokka in v2 mode.\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003eDirectorySignatureType\u003c/code\u003e internal.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003evalidateDeployment\u003c/code\u003e now has the \u003ccode\u003eDeploymentValidation\u003c/code\u003e enum as type instead of being a boolean. The default\nis now to just wait for the \u003ccode\u003eVALIDATED\u003c/code\u003e state. The previous behavior can be achieved by setting it to \u003ccode\u003ePUBLISHED\u003c/code\u003e.\n\u003ccode\u003eNONE\u003c/code\u003e can be used for disabling the validation completely.\u003c/li\u003e\n\u003cli\u003eWhen calling \u003ccode\u003econfigure(...)\u003c/code\u003e manually to configure what to publish and not passing \u003ccode\u003ejavadocJar\u003c/code\u003e explicity,\nthe plugin now defaults to publishing an empty javadoc jar.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid projects now support using Dokka for javadoc creation, this will happen automatically\nwhen using the default options and the Dokka plugin is applied to the project.\u003c/li\u003e\n\u003cli\u003eAdded consistent \u003ccode\u003eJavadocJar\u003c/code\u003e and \u003ccode\u003eSourcesJar\u003c/code\u003e options to \u003ccode\u003econfigureBasedOnAppliedPlugins\u003c/code\u003e and to all\napplicable project types that can be passed to \u003ccode\u003econfigure\u003c/code\u003e. The previous \u003ccode\u003eBoolean\u003c/code\u003e based versions have\nbeen deprecated.\u003c/li\u003e\n\u003cli\u003eWhen enabling Maven Central publishing through the DSL, the \u003ccode\u003emavenCentralDeploymentValidation\u003c/code\u003e and\n\u003ccode\u003emavenCentralAutomaticPublishing\u003c/code\u003e are used for the default values of the 2 parameters when they are not passed\nexplicitly. This allows to more easily override them in certain environments.\u003c/li\u003e\n\u003cli\u003eWhen isolated projects is enabled the module/project specific \u003ccode\u003egradle.properties\u003c/code\u003e files are now considered in\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/vanniktech/gradle-maven-publish-plugin/commit/7017e3d3d1e8c2df57db1e9a216997e46a3b7e88\"\u003e\u003ccode\u003e7017e3d\u003c/code\u003e\u003c/a\u003e enable feature preview (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1381\"\u003e#1381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/05f6b6ece1702385b06a08b4f47d436464d07a80\"\u003e\u003ccode\u003e05f6b6e\u003c/code\u003e\u003c/a\u003e use 0.37.0-rc1 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1380\"\u003e#1380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/0167c9cc7b34e3e7a0bab5aaa84b756ad26e858a\"\u003e\u003ccode\u003e0167c9c\u003c/code\u003e\u003c/a\u003e Changelog for 0.37.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1379\"\u003e#1379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/b652eb33024e38ca7a0512027693c5b605a5f065\"\u003e\u003ccode\u003eb652eb3\u003c/code\u003e\u003c/a\u003e Update dependency java to v26 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1353\"\u003e#1353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/a9f70b326d86e8279a82c1cfc9e1a7cd9e576bc6\"\u003e\u003ccode\u003ea9f70b3\u003c/code\u003e\u003c/a\u003e Update dependency com.freeletics.gradle:scripts-formatting-jvm to v0.37.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/541cf8fd793977822656ce79b92664f120dac6d1\"\u003e\u003ccode\u003e541cf8f\u003c/code\u003e\u003c/a\u003e Log deployment id and publishing type after Central Portal upload (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1354\"\u003e#1354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/d4873e5589c313ebc76eccb090067ad4e966fee9\"\u003e\u003ccode\u003ed4873e5\u003c/code\u003e\u003c/a\u003e Update slf4j monorepo to v2 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1365\"\u003e#1365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/42baf9d49fcfe5c7d1a6382cd6576bd48810cf9a\"\u003e\u003ccode\u003e42baf9d\u003c/code\u003e\u003c/a\u003e Update android.gradle (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/2de1978ae4c76ec6d458302cd21cab6294b6f438\"\u003e\u003ccode\u003e2de1978\u003c/code\u003e\u003c/a\u003e Update Gradle (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1362\"\u003e#1362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/6f03e462646d34bc7df82bede4de92a7676c4932\"\u003e\u003ccode\u003e6f03e46\u003c/code\u003e\u003c/a\u003e Update kotlin monorepo to v2.4.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1352\"\u003e#1352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/compare/0.35.0...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-openid4vci-kt/pull/553","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-openid4vci-kt/issues/553","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/553/packages"},{"uuid":"4697316547","node_id":"PR_kwDOQ3eI_s7oMk5w","number":17,"state":"open","title":"Bump com.diffplug.spotless from 8.4.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-19T02:04:35.000Z","updated_at":"2026-06-19T08:29:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.4.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.4.0\u0026new-version=8.7.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\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated a build tool formatting dependency to a newer version for improved development stability.\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/frc2204/frc-2026/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frc2204%2Ffrc-2026/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"},{"uuid":"4679623412","node_id":"PR_kwDOC4qIR87nSM0R","number":341,"state":"closed","title":"Bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-20T23:16:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-17T03:02:23.000Z","updated_at":"2026-06-20T23:16:30.000Z","time_to_close":332046,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/pyamsoft/cachify/pull/341","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyamsoft%2Fcachify/issues/341","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/341/packages"},{"uuid":"4678949836","node_id":"PR_kwDOO5Lg0M7nQAvo","number":76,"state":"closed","title":"Bump com.diffplug.spotless from 7.2.1 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-30T00:32:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-17T00:33:05.000Z","updated_at":"2026-06-30T00:32:55.000Z","time_to_close":1123188,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"7.2.1","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 7.2.1 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=7.2.1\u0026new-version=8.7.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/RyuNen344/wiremock-gradle-sample/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyuNen344%2Fwiremock-gradle-sample/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"},{"uuid":"4678498188","node_id":"PR_kwDOAleJ8s7nOila","number":506,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["kruton"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-29T22:52:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T22:52:35.000Z","updated_at":"2026-06-29T22:53:35.000Z","time_to_close":1123199,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/connectbot/trilead-ssh2/pull/506","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectbot%2Ftrilead-ssh2/issues/506","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/506/packages"},{"uuid":"4675353871","node_id":"PR_kwDOPI7PPs7nEHu5","number":109,"state":"closed","title":"gradle(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["qwertycxz"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-19T15:50:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T14:55:46.000Z","updated_at":"2026-06-19T15:50:26.000Z","time_to_close":262479,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"gradle(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/qwertycxz/MetadataWildcard4fabric-permissions-api/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwertycxz%2FMetadataWildcard4fabric-permissions-api/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"},{"uuid":"4663881053","node_id":"PR_kwDOORt7pM7mePW7","number":123,"state":"open","title":"build(deps): bump the java-other group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":17,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-15T09:42:51.000Z","updated_at":"2026-07-01T01:42:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"java-other","update_count":6,"packages":[{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.8.0"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.3","repository_url":"https://github.com/GradleUp/shadow"},{"name":"org.apache.logging.log4j:log4j-bom","old_version":"2.25.4","new_version":"2.26.0","repository_url":"https://github.com/apache/logging-log4j2"},{"name":"software.amazon.awssdk:bom","old_version":"2.42.41","new_version":"2.46.19"},{"name":"com.squareup.okhttp3:okhttp","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/square/okhttp"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the java-other group with 6 updates in the /java directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.diffplug.spotless | `8.4.0` | `8.8.0` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.3` |\n| [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) | `2.25.4` | `2.26.0` |\n| software.amazon.awssdk:bom | `2.42.41` | `2.46.19` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `5.3.2` | `5.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.6.1` |\n\n\nUpdates `com.diffplug.spotless` from 8.4.0 to 8.8.0\n\nUpdates `com.gradleup.shadow` from 9.4.1 to 9.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GradleUp/shadow/releases\"\u003ecom.gradleup.shadow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.3\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies for resolving CVEs. (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/pull/2069\"\u003e#2069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.4.2\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate jdependency to support Java 27. (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/pull/2033\"\u003e#2033\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/GradleUp/shadow/commit/44c6ce102da4c5defc20e42117e28cf2013e2579\"\u003e\u003ccode\u003e44c6ce1\u003c/code\u003e\u003c/a\u003e Prepare version 9.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/ba5e0de00cd7203d11ed4b0be8159bbf0c841fe1\"\u003e\u003ccode\u003eba5e0de\u003c/code\u003e\u003c/a\u003e Fix conflicts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/cd13ac5f398d4c7fb8218f60deccbdae2f7087c6\"\u003e\u003ccode\u003ecd13ac5\u003c/code\u003e\u003c/a\u003e Minor cleanups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/298cd8a8286db2c2ac325ed493a4269d0b57c744\"\u003e\u003ccode\u003e298cd8a\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/29c432a7b6824b6fef23d46dc067e5c14112ff90\"\u003e\u003ccode\u003e29c432a\u003c/code\u003e\u003c/a\u003e Prepare version 9.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/8aa8e6c1fb2ac0c17f0ff77e521cbe599cf64245\"\u003e\u003ccode\u003e8aa8e6c\u003c/code\u003e\u003c/a\u003e Update dependency org.vafer:jdependency to v2.16 (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/issues/2033\"\u003e#2033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GradleUp/shadow/compare/9.4.1...9.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-bom` from 2.25.4 to 2.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/logging-log4j2/releases\"\u003eorg.apache.logging.log4j:log4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.26.0\u003c/h2\u003e\n\u003cp\u003eThis minor release delivers all the fixes in the \u003ccode\u003e[2.25.0, 2.25.4]\u003c/code\u003e version range, plus some new fixes, and several other improvements and features.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eConfigurationFactory::getConfiguration\u003c/code\u003e method accepting multiple \u003ccode\u003eURI\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3775\"\u003e#3775\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3921\"\u003e#3921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd and export \u003ccode\u003eorg.apache.logging.log4j.core.pattern.NamedInstantPattern\u003c/code\u003e enabling users to programmatically access named date \u0026amp; time patterns supported by Pattern Layout (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elog4j.plugin.processor.minAllowedMessageKind\u003c/code\u003e annotation processor option to \u003ccode\u003ePluginProcessor\u003c/code\u003e to filter diagnostic messages by severity. This allows builds that treat compiler notes as errors (e.g. Maven with \u003ccode\u003e-Werror\u003c/code\u003e) to suppress informational notes emitted during normal plugin processing. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/discussions/3380%5B#3380%5D(https://redirect.github.com/apache/logging-log4j2/issues/3380)\"\u003eapache/logging-log4j2#3380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4063\"\u003e#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing setters to \u003ccode\u003eRfc5424LayoutBuilder\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure scripts in the global \u003ccode\u003eScripts\u003c/code\u003e element have explicit names by throwing a \u003ccode\u003eConfigurationException\u003c/code\u003e for unnamed ones. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify file manager registry factory methods (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated withers in builder classes in favor of setters. This change improves API consistency with Log4j Core 3 and helps users adapt to the upcoming changes. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix script resolution failure when the \u003ccode\u003eScripts\u003c/code\u003e element is placed after a \u003ccode\u003eScriptRef\u003c/code\u003e in the configuration. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3336\"\u003e#3336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e thrown by \u003ccode\u003eThrowableStackTraceRenderer\u003c/code\u003e when the stack trace is modified concurrently (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3940\"\u003e#3940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSLF4JLogger.atFatal()\u003c/code\u003e returning \u003ccode\u003eatLevel(Level.TRACE)\u003c/code\u003e instead of \u003ccode\u003eatLevel(Level.FATAL)\u003c/code\u003e. This was causing \u003ccode\u003eFATAL\u003c/code\u003e-level log events to be silently discarded when using the fluent API through the \u003ccode\u003elog4j-to-slf4j\u003c/code\u003e bridge. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4068\"\u003e#4068\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4089\"\u003e#4089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Javadoc references across module boundaries (i.e., cross-references) (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4099\"\u003e#4099\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix header write in \u003ccode\u003eRollingRandomAccessFileManager\u003c/code\u003e that was being incorrectly skipped if \u003ccode\u003eappend=true\u003c/code\u003e and the file didn't exist before\u003c/li\u003e\n\u003cli\u003eFix a properties file configuration regression caused by not referenced loggers, appenders, and filters (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4036\"\u003e#4036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the \u003ccode\u003ejvmrunargs\u003c/code\u003e lookup. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.junit:junit-bom\u003c/code\u003e to version \u003ccode\u003e5.13.4\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.mongodb:bson\u003c/code\u003e to version \u003ccode\u003e5.6.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.xerial.snappy:snappy-java\u003c/code\u003e to version \u003ccode\u003e1.1.10.8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3841\"\u003e#3841\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/apache/logging-log4j2/commit/c1ad2a66cc90e643ec319b9e131764c9710bebc5\"\u003e\u003ccode\u003ec1ad2a6\u003c/code\u003e\u003c/a\u003e Update the \u003ccode\u003eproject.build.outputTimestamp\u003c/code\u003e property\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/8b3a7990421ec5cff2a44914c07d0676067c31ad\"\u003e\u003ccode\u003e8b3a799\u003c/code\u003e\u003c/a\u003e Set version to \u003ccode\u003e2.26.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/96486ebb8a2176f7bd14c797b334da84d90e801b\"\u003e\u003ccode\u003e96486eb\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/2.x' into release/2.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/82432570e8bb9a67c32de51dc63ebcfcec939818\"\u003e\u003ccode\u003e8243257\u003c/code\u003e\u003c/a\u003e Add documentation for \u003ccode\u003eMessageRewritePolicy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/2a15414e839fea3f3ba61cc7403dd8e4130a15cf\"\u003e\u003ccode\u003e2a15414\u003c/code\u003e\u003c/a\u003e Add documentation pointer to the Async HTTP Appender of \u003ccode\u003emore-log4j2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4062\"\u003e#4062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/b178cb1f926b3db43c65e69e9b7be7b76431f824\"\u003e\u003ccode\u003eb178cb1\u003c/code\u003e\u003c/a\u003e Switch CI to \u003ccode\u003egha/v0\u003c/code\u003e and remove Develocity (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4108\"\u003e#4108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/23321deb0e1e1509ac16c5453653c86c1a4d5867\"\u003e\u003ccode\u003e23321de\u003c/code\u003e\u003c/a\u003e Remove changelog entries for already released changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/def55fcf441b2a9ec2e6454e8fa8e1053d7d59ba\"\u003e\u003ccode\u003edef55fc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e.release.xml\u003c/code\u003e and \u003ccode\u003e.release-notes.adoc.ftl\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/0e019f23b001219fd32c78397224b134fa41e431\"\u003e\u003ccode\u003e0e019f2\u003c/code\u003e\u003c/a\u003e Move changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/a487a5d029697fc0b276a20c4277b24bf1f66b50\"\u003e\u003ccode\u003ea487a5d\u003c/code\u003e\u003c/a\u003e Tidy up changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/logging-log4j2/compare/rel/2.25.4...rel/2.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.42.41 to 2.46.19\n\nUpdates `com.squareup.okhttp3:okhttp` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/okhttp/blob/master/CHANGELOG.md\"\u003ecom.squareup.okhttp3:okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-06-08\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Add superpowers to interceptors. Interceptors can now override anything settable on\n\u003ccode\u003eOkHttpClient.Builder\u003c/code\u003e, such as the cache, connection pool, socket factory, and DNS. We expect\nthis will allow most users to use interceptors everywhere, insted of mixing and matching\ninterceptors with custom \u003ccode\u003eCall.Factory\u003c/code\u003e wrappers.\u003c/li\u003e\n\u003cli\u003eFix: Limit each HTTP/2 response to 256 KiB of total headers.\u003c/li\u003e\n\u003cli\u003eUpgrade: [kotlinx.coroutines 1.11.0][coroutines_1_11_0]. This is used by the optional\n\u003ccode\u003eokhttp-coroutines\u003c/code\u003e artifact.\u003c/li\u003e\n\u003cli\u003eUpgrade: [GraalVM 25.0.3][graalvm_25].\u003c/li\u003e\n\u003cli\u003eUpgrade: [Okio 3.17.0][okio_3_17_0].\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/square/okhttp/commit/61423f472da24e0ccc42b6a2c0863fb27932fea5\"\u003e\u003ccode\u003e61423f4\u003c/code\u003e\u003c/a\u003e Prepare for release 5.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/d7e6effcb6852ca848b5f497032546b98b0a6370\"\u003e\u003ccode\u003ed7e6eff\u003c/code\u003e\u003c/a\u003e Update eclipse.osgi to v3.24.200 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9480\"\u003e#9480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7a350986e3231a7b81cbfcc6e3c185327033422b\"\u003e\u003ccode\u003e7a35098\u003c/code\u003e\u003c/a\u003e Update bnd to v7.3.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9475\"\u003e#9475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0c5a45b1174b8f735cc251eb19faaed87b65d868\"\u003e\u003ccode\u003e0c5a45b\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v13.5.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9468\"\u003e#9468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/113ad17f70af6984a1a8b4d46024118e5409c44b\"\u003e\u003ccode\u003e113ad17\u003c/code\u003e\u003c/a\u003e Update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9457\"\u003e#9457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/84f601af03d047eef3f4b2f0ca6b6f72303dcea1\"\u003e\u003ccode\u003e84f601a\u003c/code\u003e\u003c/a\u003e Update shadow.plugin to v9.4.2 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9466\"\u003e#9466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7d463f4bcfca91e4466037f2c65c7c700545d64c\"\u003e\u003ccode\u003e7d463f4\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/3bf00f52921a0727bd18997cd92112dd2e582ed7\"\u003e\u003ccode\u003e3bf00f5\u003c/code\u003e\u003c/a\u003e Update plugin com.diffplug.spotless to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9463\"\u003e#9463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cfc45a3f146d2389797a3d51d405e9118bed56c9\"\u003e\u003ccode\u003ecfc45a3\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.5.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9456\"\u003e#9456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/81c5006e336c1cb67870694e38707e2c1c44fb34\"\u003e\u003ccode\u003e81c5006\u003c/code\u003e\u003c/a\u003e Apply gradle lint correctly (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9459\"\u003e#9459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/sevincit/opentelemetry-lambda/pull/123","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevincit%2Fopentelemetry-lambda/issues/123","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/123/packages"}],"issue_packages":[{"old_version":"7.0.4","new_version":"8.8.0","update_type":"major","path":null,"pr_created_at":"2026-07-13T21:43:49.000Z","version_change":"7.0.4 → 8.8.0","issue":{"uuid":"4877851030","node_id":"PR_kwDOQEfaqc7xR3-I","number":282,"state":"open","title":"deps(deps): bump the gradle-dependencies group across 1 directory with 30 updates","user":"dependabot[bot]","labels":["dependencies"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-07-13T21:43:49.000Z","updated_at":"2026-07-24T17:00:34.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(deps): bump","group_name":"gradle-dependencies","update_count":30,"packages":[{"name":"org.yaml:snakeyaml","old_version":"2.3","new_version":"2.6"},{"name":"org.springframework.boot:spring-boot-dependencies","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"org.springframework.boot","old_version":"3.4.4","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"gradle-wrapper","old_version":"8.12","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-test","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-gradle-plugin","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-allopen","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin:kotlin-noarg","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.jpa","old_version":"2.1.20","new_version":"2.4.10","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.18.2","new_version":"2.22.1","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"org.springdoc:springdoc-openapi-starter-webmvc-ui","old_version":"2.8.6","new_version":"3.0.3","repository_url":"https://github.com/springdoc/springdoc-openapi"},{"name":"com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter","old_version":"0.12.10","new_version":"0.14.0","repository_url":"https://github.com/MarcGiffing/bucket4j-spring-boot-starter"},{"name":"com.github.ben-manes.caffeine:caffeine","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"com.github.ben-manes.caffeine:jcache","old_version":"3.1.8","new_version":"3.2.4","repository_url":"https://github.com/ben-manes/caffeine"},{"name":"org.flywaydb:flyway-core","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.3.1","new_version":"13.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.4","new_version":"42.7.13","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"io.kotest:kotest-runner-junit5","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-assertions-core","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"io.kotest:kotest-property","old_version":"5.9.1","new_version":"6.2.3","repository_url":"https://github.com/kotest/kotest"},{"name":"com.tngtech.archunit:archunit-junit5","old_version":"1.3.0","new_version":"1.4.2","repository_url":"https://github.com/TNG/ArchUnit"},{"name":"net.jqwik:jqwik","old_version":"1.9.2","new_version":"1.10.1","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"org.testcontainers:testcontainers-bom","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:junit-jupiter","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:postgresql","old_version":"1.20.4","new_version":"1.21.4","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"7.0.4","new_version":"8.8.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-dependencies group with 30 updates in the /yay-tsa-v2 directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.3` | `2.6` |\n| [org.springframework.boot:spring-boot-dependencies](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `3.4.4` | `4.1.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.12` | `9.6.1` |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-test](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-allopen](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin:kotlin-noarg](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [org.jetbrains.kotlin.plugin.jpa](https://github.com/JetBrains/kotlin) | `2.1.20` | `2.4.10` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.18.2` | `2.22.1` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.18.2` | `2.22.1` |\n| [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) | `2.8.6` | `3.0.3` |\n| [com.giffing.bucket4j.spring.boot.starter:bucket4j-spring-boot-starter](https://github.com/MarcGiffing/bucket4j-spring-boot-starter) | `0.12.10` | `0.14.0` |\n| [com.github.ben-manes.caffeine:caffeine](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| [com.github.ben-manes.caffeine:jcache](https://github.com/ben-manes/caffeine) | `3.1.8` | `3.2.4` |\n| org.flywaydb:flyway-core | `11.3.1` | `13.0.0` |\n| org.flywaydb:flyway-database-postgresql | `11.3.1` | `13.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.4` | `42.7.13` |\n| [io.kotest:kotest-runner-junit5](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [io.kotest:kotest-property](https://github.com/kotest/kotest) | `5.9.1` | `6.2.3` |\n| [com.tngtech.archunit:archunit-junit5](https://github.com/TNG/ArchUnit) | `1.3.0` | `1.4.2` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.2` | `1.10.1` |\n| [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| [org.testcontainers:postgresql](https://github.com/testcontainers/testcontainers-java) | `1.20.4` | `1.21.4` |\n| com.diffplug.spotless | `7.0.4` | `8.8.0` |\n\n\nUpdates `org.yaml:snakeyaml` from 2.3 to 2.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/015ab57b3a789f85cf8967f6f3431035d928d9bc\"\u003e\u003ccode\u003e015ab57\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/snakeyaml/snakeyaml/commits/4795519ef773da23c8816a4e932f9aaffd630f8c\"\u003e\u003ccode\u003e4795519\u003c/code\u003e\u003c/a\u003e Update info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/9c36c69034617a1c2e06b5b9b6da4073416279b8\"\u003e\u003ccode\u003e9c36c69\u003c/code\u003e\u003c/a\u003e Introduce devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0c5b3e513a8a3971f7c97404f73fadebb63b73c0\"\u003e\u003ccode\u003e0c5b3e5\u003c/code\u003e\u003c/a\u003e fix: add debug level to internal logger\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/a65b13170d1b221af062d6aa90fd7741ed7ea7cd\"\u003e\u003ccode\u003ea65b131\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into devcontainers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/788a98b92bfd1696e95a0a48eb1d652d80660149\"\u003e\u003ccode\u003e788a98b\u003c/code\u003e\u003c/a\u003e Update changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/556b4bfec56355987f292f0ee515798b3a2eb3e0\"\u003e\u003ccode\u003e556b4bf\u003c/code\u003e\u003c/a\u003e Add info for devcontainer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/0828c39da732f89844c0c66d7f55169417f8cd16\"\u003e\u003ccode\u003e0828c39\u003c/code\u003e\u003c/a\u003e ops: migrate deployment from OSSRH to Central Portal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/30d6a3a64809f0f6d3d9fd901a85b7c3cda94930\"\u003e\u003ccode\u003e30d6a3a\u003c/code\u003e\u003c/a\u003e Add a test for issue 1108\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/commits/2da4c6d8bfe0590dab56a5319366dc3b6558b9b5\"\u003e\u003ccode\u003e2da4c6d\u003c/code\u003e\u003c/a\u003e Remove unrelated code\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.6..snakeyaml-2.3\"\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-dependencies` from 3.4.4 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:spring-boot-dependencies'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.4.4...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.springframework.boot` from 3.4.4 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.4.4...v4.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 8.12 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.12.0...v9.6.1\"\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-stdlib` from 2.1.20 to 2.4.10\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-stdlib's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-stdlib's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-test` from 2.1.20 to 2.4.10\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-test's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-gradle-plugin` from 2.1.20 to 2.4.10\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.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003ccode\u003e6307e73\u003c/code\u003e\u003c/a\u003e [Wasm] Implement Xwasm-IC-generate-unchanged-modules flag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/39d7aee8470b7ce61fea8f76c317456e2756f7c0\"\u003e\u003ccode\u003e39d7aee\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a2956bed85f99752b78881075665d81a82e98ab2\"\u003e\u003ccode\u003ea2956be\u003c/code\u003e\u003c/a\u003e [Gradle] Update karma.conf.js to use 'require(...)' instead plain strings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9b1361ce7a6cfd2edd6f8cdb05198573fb839b61\"\u003e\u003ccode\u003e9b1361c\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Updated regression test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/a4c153af52ad4694c0cca14c25812db54b19f90e\"\u003e\u003ccode\u003ea4c153a\u003c/code\u003e\u003c/a\u003e [Gradle] KT-87223: Fix toochain to 2.4.0 for abiValidation compat config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bc04b90d245cd27d8339fe51bd43a90dd4c04e9f\"\u003e\u003ccode\u003ebc04b90\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.4.10-RC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/bbcb94baa2eed1cc5ccb39147dcf5a5a184d7a14\"\u003e\u003ccode\u003ebbcb94b\u003c/code\u003e\u003c/a\u003e [CRI] explicitly disable CRI generation for non-JVM targets to avoid false-po...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6c2c458f1d2e4b4f8638fb16f12ff1dd375c4ae2\"\u003e\u003ccode\u003e6c2c458\u003c/code\u003e\u003c/a\u003e Scripting: fix jvmTarget processing from script annotations\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.1.20...v2.4.10\"\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-allopen` from 2.1.20 to 2.4.10\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-allopen's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.4.10\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eKotlin 2.4.10-RC2\u003c/h2\u003e\n\u003ch2\u003eChangelog\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\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-allopen's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.10\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87066\"\u003e\u003ccode\u003eKT-87066\u003c/code\u003e\u003c/a\u003e K/Wasm: Not all files are presented in compiler output directory with multimodule-closed-world and incremental compilation\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86939\"\u003e\u003ccode\u003eKT-86939\u003c/code\u003e\u003c/a\u003e JVM: IllegalStateException \u0026quot;No value for annotation parameter\u0026quot; when using const val in nested Java annotation array argument\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-83766\"\u003e\u003ccode\u003eKT-83766\u003c/code\u003e\u003c/a\u003e K2: Wrong sourcePsi is set for \u003ccode\u003eSymbolPsiLiteral\u003c/code\u003e in SLC for annotation arguments referencing a const val\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86728\"\u003e\u003ccode\u003eKT-86728\u003c/code\u003e\u003c/a\u003e Reified type inference: expected type not propagated into inline call inside lambda with elvis operator\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCompose Compiler\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://issuetracker.google.com/issues/522127447\"\u003e\u003ccode\u003eb/522127447\u003c/code\u003e\u003c/a\u003e Compose Compiler 2.4: classes previously inferred \u003ccode\u003estable\u003c/code\u003e now reported \u003ccode\u003eruntime\u003c/code\u003e/\u003ccode\u003eUncertain\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eKlibs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86501\"\u003e\u003ccode\u003eKT-86501\u003c/code\u003e\u003c/a\u003e Native: IrTypeAliasSymbolImpl is already bound. Signature: kotlinx.datetime/Instant|null[0] on iosSimulatorArm64\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. CLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86930\"\u003e\u003ccode\u003eKT-86930\u003c/code\u003e\u003c/a\u003e Introduce \u003ccode\u003ekotlinr\u003c/code\u003e in the Kotlin distribution\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. BCV\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87223\"\u003e\u003ccode\u003eKT-87223\u003c/code\u003e\u003c/a\u003e Gradle, BCV: open version range in kotlinAbiValidationCompatClasspath causes kotlin-build-tools-impl to resolve to 2.4.20-Beta1 instead of 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. JS\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87304\"\u003e\u003ccode\u003eKT-87304\u003c/code\u003e\u003c/a\u003e jsBrowserTest fails with \u0026quot;exited with errors (exit code: 1)\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86057\"\u003e\u003ccode\u003eKT-86057\u003c/code\u003e\u003c/a\u003e kotlinUpgradeYarnLock skips lock file regeneration when kotlinNpmInstall is up-to-date, causing kotlinStoreYarnLock to fail\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Multiplatform\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87084\"\u003e\u003ccode\u003eKT-87084\u003c/code\u003e\u003c/a\u003e False positive warning for JS and Wasm compilations when CRI is enabled\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Scripts\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-87076\"\u003e\u003ccode\u003eKT-87076\u003c/code\u003e\u003c/a\u003e \u003ccode\u003e@file\u003c/code\u003e:CompilerOptions(\u0026quot;-jvm-target\u0026quot;, ...) ignored in .main.kts scripts in Kotlin 2.4.0, falling back to JVM target 1.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-86352\"\u003e\u003ccode\u003eKT-86352\u003c/code\u003e\u003c/a\u003e K2 scripting: FirResolvedTypeRef exception when resolving extension functions from imported scripts\u003c/li\u003e\n\u003c/ul\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\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/5687445832cd835b4509b9fbc264cdf1a8201093\"\u003e\u003ccode\u003e5687445\u003c/code\u003e\u003c/a\u003e Add Changelog for 2.4.10-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/ba30392c459dd7c1ae74c1501e83453144416bc9\"\u003e\u003ccode\u003eba30392\u003c/code\u003e\u003c/a\u003e [Wasm] Support regenerate unchanged modules flag on KGP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/6307e7310d14eef05f199ebccd9518379772d3a7\"\u003e\u003cc...\n\n_Description has been truncated_","html_url":"https://github.com/nikolay-e/yay-tsa/pull/282","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikolay-e%2Fyay-tsa/issues/282","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/282/packages"}},{"old_version":"8.7.0","new_version":"8.8.0","update_type":"minor","path":null,"pr_created_at":"2026-06-30T01:08:14.000Z","version_change":"8.7.0 → 8.8.0","issue":{"uuid":"4772781039","node_id":"PR_kwDORvTpNs7sBKwh","number":143,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.7.0 to 8.8.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-30T01:08:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-30T01:08:14.000Z","updated_at":"2026-06-30T01:08:36.000Z","time_to_close":20,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.7.0","new_version":"8.8.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.7.0 to 8.8.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.7.0\u0026new-version=8.8.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/resoltico/GridGrind/pull/143","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/resoltico%2FGridGrind/issues/143","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/143/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-26T23:55:37.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4755814752","node_id":"PR_kwDONKJoLM7rK7MX","number":193,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 33 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T10:44:58.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T23:55:37.000Z","updated_at":"2026-06-29T10:45:00.000Z","time_to_close":211761,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.ktor:ktor-server-core","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-di","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-id","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-openapi","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-routing-openapi","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache5","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-call-id","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.5.0","new_version":"3.5.1","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor.plugin","old_version":"3.5.0","new_version":"3.5.1"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.34","new_version":"1.5.37","repository_url":"https://github.com/qos-ch/logback"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"org.postgresql:r2dbc-postgresql","old_version":"1.1.1.RELEASE","new_version":"1.1.2.RELEASE","repository_url":"https://github.com/pgjdbc/r2dbc-postgresql"},{"name":"org.flywaydb:flyway-core","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb.flyway","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.3.0","new_version":"4.3.1"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 33 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.1` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-di](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-call-id](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-openapi](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-routing-openapi](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-apache5](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-call-id](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.5.0` | `3.5.1` |\n| io.ktor.plugin | `3.5.0` | `3.5.1` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.34` | `1.5.37` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| [org.postgresql:r2dbc-postgresql](https://github.com/pgjdbc/r2dbc-postgresql) | `1.1.1.RELEASE` | `1.1.2.RELEASE` |\n| org.flywaydb:flyway-core | `12.8.1` | `12.9.0` |\n| org.flywaydb:flyway-database-postgresql | `12.8.1` | `12.9.0` |\n| org.flywaydb.flyway | `12.8.1` | `12.9.0` |\n| org.apache.kafka:kafka-clients | `4.3.0` | `4.3.1` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.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-server-core` from 3.5.0 to 3.5.1\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-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-di` from 3.5.0 to 3.5.1\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-server-di's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-call-id` from 3.5.0 to 3.5.1\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-server-call-id's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-serialization-kotlinx-json` from 3.5.0 to 3.5.1\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.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-server-content-negotiation` from 3.5.0 to 3.5.1\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-server-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ed22950b6320bb18c3ab01388091e0093c8d0e79\"\u003e\u003ccode\u003eed22950\u003c/code\u003e\u003c/a\u003e Make huge post test less huge\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/f329069ed4994865ca2d421676a7f055aeb75be6\"\u003e\u003ccode\u003ef329069\u003c/code\u003e\u003c/a\u003e Update dependency com.github.luben:zstd-jni to v1.5.7-11\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6ecd072937d894ebe93e330df9ea5ae45c33fd58\"\u003e\u003ccode\u003e6ecd072\u003c/code\u003e\u003c/a\u003e Update dependency io.swagger.parser.v3:swagger-parser to v2.1.44\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a0534cd2e6a5d23988d07d87e2acfc0bf82e5751\"\u003e\u003ccode\u003ea0534cd\u003c/code\u003e\u003c/a\u003e Update dependency io.pebbletemplates:pebble to v4.1.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/8647e53f4b941c96cfeecbbaf28c08a6f5c641a0\"\u003e\u003ccode\u003e8647e53\u003c/code\u003e\u003c/a\u003e Update dependency com.typesafe:config to v1.4.9\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.5.0...3.5.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-serialization-jackson` from 3.5.0 to 3.5.1\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-jackson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 25 June 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-9492\"\u003eKTOR-9492\u003c/a\u003e OpenAPI plugin: handle requireXxx functions in compiler plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9569\"\u003eKTOR-9569\u003c/a\u003e Add more details for KDoc of BearerAuthConfig.sendWithoutRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9571\"\u003eKTOR-9571\u003c/a\u003e Add KDoc for BearerAuthConfig.realm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9570\"\u003eKTOR-9570\u003c/a\u003e Add Kdoc for BearerAuthConfig.refreshTokens\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-9646\"\u003eKTOR-9646\u003c/a\u003e Fix Kotlin 2.4.0 compiler plugin breaking changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9585\"\u003eKTOR-9585\u003c/a\u003e OpenAPI: JsonSchema title is truncated when it contains a dot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9591\"\u003eKTOR-9591\u003c/a\u003e OpenAPI: \u003ccode\u003e@JsonClassDiscriminator\u003c/code\u003e on sealed types is ignored when generating OpenAPI discriminator schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9597\"\u003eKTOR-9597\u003c/a\u003e OpenAPI: Schema name collisions because\u003ccode\u003e@SerialName\u003c/code\u003e of sealed subtypes is used as \u003ccode\u003ecomponents.schemas\u003c/code\u003e key\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9601\"\u003eKTOR-9601\u003c/a\u003e OpenAPI: nullable \u003ca href=\"https://github.com/JvmInline\"\u003e\u003ccode\u003e@​JvmInline\u003c/code\u003e\u003c/a\u003e value class loses nullability in generated schema\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9620\"\u003eKTOR-9620\u003c/a\u003e Some issues related to digest authentication in 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9623\"\u003eKTOR-9623\u003c/a\u003e Digest Auth: server must respond with one WWW-Authenticate header for each supported algorithm\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9624\"\u003eKTOR-9624\u003c/a\u003e Digest Auth: \u0026quot;Unsupported charset in digest authentication header\u0026quot; for a charset name in lowercase\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9630\"\u003eKTOR-9630\u003c/a\u003e Digest Auth: The plugin sends incorrect nonce when server responds with multiple WWW-Authenticate headers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9565\"\u003eKTOR-9565\u003c/a\u003e WebRTC: Peer stops receiving messages after a while on iOS\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9610\"\u003eKTOR-9610\u003c/a\u003e WebRtcPeerConnection::close causes ClosedReceiveChannelException for other peer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9633\"\u003eKTOR-9633\u003c/a\u003e WebRTC statistics fetching race condition\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9603\"\u003eKTOR-9603\u003c/a\u003e Structured concurrency is violated in WebRTC tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9671\"\u003eKTOR-9671\u003c/a\u003e Darwin: Semicolons in URL path are sanitized\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9639\"\u003eKTOR-9639\u003c/a\u003e Darwin: WebSocket client crashes the process when a PONG arrives after the session is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9575\"\u003eKTOR-9575\u003c/a\u003e Darwin: findCharset(\u0026quot;UTF-16\u0026quot;) maps to NSUTF16LittleEndianStringEncoding causing decoding failure for UTF-16 content with BOM\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9661\"\u003eKTOR-9661\u003c/a\u003e HttpCache: InvalidCacheStateException is thrown on 304 when no cached entry matches varyKeys\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9673\"\u003eKTOR-9673\u003c/a\u003e Caching always missing with Content Negotiation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9596\"\u003eKTOR-9596\u003c/a\u003e HttpTimeout: HttpRequestTimeoutException on any request with runTest and request timeout defined since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9632\"\u003eKTOR-9632\u003c/a\u003e HttpRequestBuilder.timeout call removes capabilities set in DefaultRequest\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9252\"\u003eKTOR-9252\u003c/a\u003e ContentEncoding: Incomplete gzip response causes client/server to hang indefinitely\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9670\"\u003eKTOR-9670\u003c/a\u003e Compression: The plugin ignores Accept-Encoding q=0 and most-specific matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9614\"\u003eKTOR-9614\u003c/a\u003e Zstd Compression: \u0026quot;Destination buffer is too small\u0026quot; exception for a particular sequence of bytes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9636\"\u003eKTOR-9636\u003c/a\u003e CORS plugin drops OPTIONS preflight requests when allowSameOrigin is on\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9659\"\u003eKTOR-9659\u003c/a\u003e CORS is skipped when the Origin header contains an IPv6 address\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9574\"\u003eKTOR-9574\u003c/a\u003e ContentNegotiation: The charset of \u003ccode\u003eAccept-Charset\u003c/code\u003e header is used for response deserialization\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9606\"\u003eKTOR-9606\u003c/a\u003e KotlinxSerializationConverter: it fails to deserialize an empty channel closed with a delay\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9617\"\u003eKTOR-9617\u003c/a\u003e OutputStreamContent and WriterContent can exhaust Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9629\"\u003eKTOR-9629\u003c/a\u003e RawSourceChannel: coroutine cancellation is not propagated to the RawSource\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8870\"\u003eKTOR-8870\u003c/a\u003e File.readChannel: do not close a non-opened file and ignore closing exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9460\"\u003eKTOR-9460\u003c/a\u003e Curl: Can't build shared library with Ktor 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9607\"\u003eKTOR-9607\u003c/a\u003e Crash on Android 7: NoSuchMethodError getInstanceStrong() since 3.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9595\"\u003eKTOR-9595\u003c/a\u003e CIO: The engine imports \u003ccode\u003enode:net\u003c/code\u003e statically and breaks wasmJsBrowser webpack build\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9615\"\u003eKTOR-9615\u003c/a\u003e Apache5: The underlying request is not aborted when coroutine Job is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8443\"\u003eKTOR-8443\u003c/a\u003e RoutingBuilder.contentType does not use parameters when matching\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9425\"\u003eKTOR-9425\u003c/a\u003e SessionTransportTransformerEncrypt init block uses wrong IV size for AES-256 (regression of KTOR-661)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9621\"\u003eKTOR-9621\u003c/a\u003e RateLimit plugin is bypassed when the nested authenticate block rejects the request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8766\"\u003eKTOR-8766\u003c/a\u003e DI: The close method is called twice on cleanup of AutoCloseable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8695\"\u003eKTOR-8695\u003c/a\u003e GMTDate() being offset by 369 years on Windows\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9589\"\u003eKTOR-9589\u003c/a\u003e Duplicate PROPERTY_SETTER target in \u003ca href=\"https://github.com/InternalAPI\"\u003e\u003ccode\u003e@​InternalAPI\u003c/code\u003e\u003c/a\u003e annotation\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/5ba9d6fdf1ea9acfac5de67e7fe5a072639eac64\"\u003e\u003ccode\u003e5ba9d6f\u003c/code\u003e\u003c/a\u003e Release 3.5.1 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5719\"\u003e#5719\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/a4f145d16dbdb87bcea8bc992fc46b29c719f715\"\u003e\u003ccode\u003ea4f145d\u003c/code\u003e\u003c/a\u003e KTOR-9661 HttpCache: InvalidCacheStateException is thrown on 304 when… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5701\"\u003e#5701\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2caf27824cd35a4c0addd8dad78faa94f7884994\"\u003e\u003ccode\u003e2caf278\u003c/code\u003e\u003c/a\u003e Fix failing :ktor-io:compileDarwinMainKotlinMetadata (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5716\"\u003e#5716\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/257de90b60d47b6cc69fe80f0aa573c310942362\"\u003e\u003ccode\u003e257de90\u003c/code\u003e\u003c/a\u003e KTOR-8766 Fix multiple invocations of close from DI\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/e77a16813c40841410fd97e829e859068024a72a\"\u003e\u003ccode\u003ee77a168\u003c/code\u003e\u003c/a\u003e Fix cache misses with content negotiation 3x (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5714\"\u003e#5714\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/k...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/syk-inn-api/pull/193","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fsyk-inn-api/issues/193","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/193/packages"}},{"old_version":"8.5.1","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-26T14:13:55.000Z","version_change":"8.5.1 → 8.7.0","issue":{"uuid":"4752656542","node_id":"PR_kwDOS_0k687rAnNr","number":11,"state":"open","title":"Bump the gradle-minor-and-patch group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-26T14:13:55.000Z","updated_at":"2026-06-28T23:27:40.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-minor-and-patch","update_count":8,"packages":[{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.3.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"androidx.core:core","old_version":"1.18.0","new_version":"1.19.0"},{"name":"com.google.errorprone:error_prone_core","old_version":"2.49.0","new_version":"2.50.0","repository_url":"https://github.com/google/error-prone"},{"name":"com.google.errorprone:error_prone_annotations","old_version":"2.49.0","new_version":"2.50.0","repository_url":"https://github.com/google/error-prone"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.android","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.diffplug.spotless","old_version":"8.5.1","new_version":"8.7.0"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-minor-and-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.3.1` | `9.6.1` |\n| androidx.core:core | `1.18.0` | `1.19.0` |\n| [com.google.errorprone:error_prone_core](https://github.com/google/error-prone) | `2.49.0` | `2.50.0` |\n| [com.google.errorprone:error_prone_annotations](https://github.com/google/error-prone) | `2.49.0` | `2.50.0` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| com.diffplug.spotless | `8.5.1` | `8.7.0` |\n\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.3.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.3.1...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `androidx.core:core` from 1.18.0 to 1.19.0\n\nUpdates `com.google.errorprone:error_prone_core` from 2.49.0 to 2.50.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.50.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BoxingComparator\"\u003e\u003ccode\u003eBoxingComparator\u003c/code\u003e\u003c/a\u003e:  Detect implicitly-boxing Comparator.comparing key extractors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExposedPrivateType\"\u003e\u003ccode\u003eExposedPrivateType\u003c/code\u003e\u003c/a\u003e: Discourage references to private member classes from non-private APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/JUnitMethodInvoked\"\u003e\u003ccode\u003eJUnitMethodInvoked\u003c/code\u003e\u003c/a\u003e: Discourage directly invoking JUnit test methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ListRemoveAmbiguous\"\u003e\u003ccode\u003eListRemoveAmbiguous\u003c/code\u003e\u003c/a\u003e: Detect ambiguous calls to \u003ccode\u003eList.remove(int|Integer)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/PreferTestParameter\"\u003e\u003ccode\u003ePreferTestParameter\u003c/code\u003e\u003c/a\u003e: suggests using \u003ccode\u003e@TestParameter\u003c/code\u003e instead of \u003ccode\u003e@TestParameters\u003c/code\u003e for exhaustive boolean and enum parameters on single-element parameterized tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentAccessorAnnotationConflict\"\u003e\u003ccode\u003eRecordComponentAccessorAnnotationConflict\u003c/code\u003e\u003c/a\u003e: Detect conflicts between record components and explicit accessor methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentOverride\"\u003e\u003ccode\u003eRecordComponentOverride\u003c/code\u003e\u003c/a\u003e: Discourage \u003ccode\u003e@Override\u003c/code\u003e on record component declarations that don't override\nanything\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThrowableEqualsHashCode\"\u003e\u003ccode\u003eThrowableEqualsHashCode\u003c/code\u003e\u003c/a\u003e: Discourage overriding \u003ccode\u003eThrowable.equals()\u003c/code\u003e and \u003ccode\u003ehashCode()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClosed issues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5553\"\u003e#5553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5649\"\u003e#5649\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5778\"\u003e#5778\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ehttps://github.com/google/error-prone/compare/v2.49.0...v2.50.0\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/google/error-prone/commit/d802cff975605b2c76f262eaf28d22bf39534f78\"\u003e\u003ccode\u003ed802cff\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.50.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/b12b5f206d0f9f4a9f4c647839096a7a571c0961\"\u003e\u003ccode\u003eb12b5f2\u003c/code\u003e\u003c/a\u003e In \u003ccode\u003eStringCharset\u003c/code\u003e, move the description from \u003ccode\u003eexplanation\u003c/code\u003e to \u003ccode\u003esummary\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a7ca02a09c4b7c343eaf3eae6badbf3cf14568c4\"\u003e\u003ccode\u003ea7ca02a\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsUtils\u003c/code\u003e to emit \u003ccode\u003evar thrown = assertThrows(...)\u003c/code\u003e instead o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/6b565177d4dd90b09abc646e4639caa117637c18\"\u003e\u003ccode\u003e6b56517\u003c/code\u003e\u003c/a\u003e Fix handling of nested tags in  UnrecognisedJavadocTag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/d36e74f6a7bde44a23dcc6f8c729f4bf909455f6\"\u003e\u003ccode\u003ed36e74f\u003c/code\u003e\u003c/a\u003e Remove translation of the \u003ccode\u003efail()\u003c/code\u003e message into \u003ccode\u003eassertThrows()\u003c/code\u003e. We already ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/c3581e93a0db15e35f8f7b3b6bb5cfe5eadbe8dc\"\u003e\u003ccode\u003ec3581e9\u003c/code\u003e\u003c/a\u003e Fix JavacFileManager compiler crash during speculative recompiles in modular ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da1f32b7908e5da8376fff4e57296ef7a84a4e81\"\u003e\u003ccode\u003eda1f32b\u003c/code\u003e\u003c/a\u003e Remove assignments from \u003ccode\u003eassertThrows()\u003c/code\u003e lambdas. A large percentage of remai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/dee62f74041f8944377880476ec4babb12863b37\"\u003e\u003ccode\u003edee62f7\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsBlockToExpression\u003c/code\u003e to re-write single \u003ccode\u003eVariableTree\u003c/code\u003es int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/493944857cd9f4af7e0846481f7ebcc027c17663\"\u003e\u003ccode\u003e4939448\u003c/code\u003e\u003c/a\u003e Only hoist the last statement into the \u003ccode\u003eassertThrows()\u003c/code\u003e lambda.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/30fd05a4d19da16fd141b060a42557f2e772b9d2\"\u003e\u003ccode\u003e30fd05a\u003c/code\u003e\u003c/a\u003e refactor: Rename JavaLangClash bug pattern to AvoidCommonTypeNames\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.errorprone:error_prone_annotations` from 2.49.0 to 2.50.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/google/error-prone/releases\"\u003ecom.google.errorprone:error_prone_annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eError Prone 2.50.0\u003c/h2\u003e\n\u003cp\u003eNew checks:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/BoxingComparator\"\u003e\u003ccode\u003eBoxingComparator\u003c/code\u003e\u003c/a\u003e:  Detect implicitly-boxing Comparator.comparing key extractors\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ExposedPrivateType\"\u003e\u003ccode\u003eExposedPrivateType\u003c/code\u003e\u003c/a\u003e: Discourage references to private member classes from non-private APIs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/JUnitMethodInvoked\"\u003e\u003ccode\u003eJUnitMethodInvoked\u003c/code\u003e\u003c/a\u003e: Discourage directly invoking JUnit test methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ListRemoveAmbiguous\"\u003e\u003ccode\u003eListRemoveAmbiguous\u003c/code\u003e\u003c/a\u003e: Detect ambiguous calls to \u003ccode\u003eList.remove(int|Integer)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/PreferTestParameter\"\u003e\u003ccode\u003ePreferTestParameter\u003c/code\u003e\u003c/a\u003e: suggests using \u003ccode\u003e@TestParameter\u003c/code\u003e instead of \u003ccode\u003e@TestParameters\u003c/code\u003e for exhaustive boolean and enum parameters on single-element parameterized tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentAccessorAnnotationConflict\"\u003e\u003ccode\u003eRecordComponentAccessorAnnotationConflict\u003c/code\u003e\u003c/a\u003e: Detect conflicts between record components and explicit accessor methods\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/RecordComponentOverride\"\u003e\u003ccode\u003eRecordComponentOverride\u003c/code\u003e\u003c/a\u003e: Discourage \u003ccode\u003e@Override\u003c/code\u003e on record component declarations that don't override\nanything\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://errorprone.info/bugpattern/ThrowableEqualsHashCode\"\u003e\u003ccode\u003eThrowableEqualsHashCode\u003c/code\u003e\u003c/a\u003e: Discourage overriding \u003ccode\u003eThrowable.equals()\u003c/code\u003e and \u003ccode\u003ehashCode()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eClosed issues: \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5553\"\u003e#5553\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5649\"\u003e#5649\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/google/error-prone/issues/5778\"\u003e#5778\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eFull changelog: \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.0\"\u003ehttps://github.com/google/error-prone/compare/v2.49.0...v2.50.0\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/google/error-prone/commit/d802cff975605b2c76f262eaf28d22bf39534f78\"\u003e\u003ccode\u003ed802cff\u003c/code\u003e\u003c/a\u003e Release Error Prone 2.50.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/b12b5f206d0f9f4a9f4c647839096a7a571c0961\"\u003e\u003ccode\u003eb12b5f2\u003c/code\u003e\u003c/a\u003e In \u003ccode\u003eStringCharset\u003c/code\u003e, move the description from \u003ccode\u003eexplanation\u003c/code\u003e to \u003ccode\u003esummary\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/a7ca02a09c4b7c343eaf3eae6badbf3cf14568c4\"\u003e\u003ccode\u003ea7ca02a\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsUtils\u003c/code\u003e to emit \u003ccode\u003evar thrown = assertThrows(...)\u003c/code\u003e instead o...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/6b565177d4dd90b09abc646e4639caa117637c18\"\u003e\u003ccode\u003e6b56517\u003c/code\u003e\u003c/a\u003e Fix handling of nested tags in  UnrecognisedJavadocTag\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/d36e74f6a7bde44a23dcc6f8c729f4bf909455f6\"\u003e\u003ccode\u003ed36e74f\u003c/code\u003e\u003c/a\u003e Remove translation of the \u003ccode\u003efail()\u003c/code\u003e message into \u003ccode\u003eassertThrows()\u003c/code\u003e. We already ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/c3581e93a0db15e35f8f7b3b6bb5cfe5eadbe8dc\"\u003e\u003ccode\u003ec3581e9\u003c/code\u003e\u003c/a\u003e Fix JavacFileManager compiler crash during speculative recompiles in modular ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/da1f32b7908e5da8376fff4e57296ef7a84a4e81\"\u003e\u003ccode\u003eda1f32b\u003c/code\u003e\u003c/a\u003e Remove assignments from \u003ccode\u003eassertThrows()\u003c/code\u003e lambdas. A large percentage of remai...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/dee62f74041f8944377880476ec4babb12863b37\"\u003e\u003ccode\u003edee62f7\u003c/code\u003e\u003c/a\u003e Update \u003ccode\u003eAssertThrowsBlockToExpression\u003c/code\u003e to re-write single \u003ccode\u003eVariableTree\u003c/code\u003es int...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/493944857cd9f4af7e0846481f7ebcc027c17663\"\u003e\u003ccode\u003e4939448\u003c/code\u003e\u003c/a\u003e Only hoist the last statement into the \u003ccode\u003eassertThrows()\u003c/code\u003e lambda.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/google/error-prone/commit/30fd05a4d19da16fd141b060a42557f2e772b9d2\"\u003e\u003ccode\u003e30fd05a\u003c/code\u003e\u003c/a\u003e refactor: Rename JavaLangClash bug pattern to AvoidCommonTypeNames\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/google/error-prone/compare/v2.49.0...v2.50.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.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-reflect'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\"\u003eorg.jetbrains.kotlin:kotlin-reflect'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/v2.3.21...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.jetbrains.kotlin.android` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.android'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\"\u003eorg.jetbrains.kotlin.android'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 8.5.1 to 8.7.0\n","html_url":"https://github.com/ApexAlphaHero/AnyGifKeyboard/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApexAlphaHero%2FAnyGifKeyboard/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-26T03:24:35.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4749005499","node_id":"PR_kwDOSVG4Qs7q0tHm","number":36,"state":"closed","title":"Bump the gradle-updates group across 1 directory with 9 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T03:24:49.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T03:24:35.000Z","updated_at":"2026-06-29T03:24:51.000Z","time_to_close":259214,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":9,"packages":[{"name":"org.openapi.generator","old_version":"7.22.0","new_version":"7.23.0"},{"name":"software.amazon.awssdk:sts","old_version":"2.44.14","new_version":"2.46.14"},{"name":"io.sentry:sentry-bom","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-logback","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"io.sentry:sentry-spring-boot-4","old_version":"8.28.0","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"org.mock-server:mockserver-client-java","old_version":"6.1.0","new_version":"7.1.0"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"io.sentry.jvm.gradle","old_version":"6.8.1","new_version":"6.12.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.openapi.generator | `7.22.0` | `7.23.0` |\n| software.amazon.awssdk:sts | `2.44.14` | `2.46.14` |\n| [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| [io.sentry:sentry-logback](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| [io.sentry:sentry-spring-boot-4](https://github.com/getsentry/sentry-java) | `8.28.0` | `8.44.0` |\n| org.mock-server:mockserver-client-java | `6.1.0` | `7.1.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.8.1` | `6.12.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.0` |\n\n\nUpdates `org.openapi.generator` from 7.22.0 to 7.23.0\n\nUpdates `software.amazon.awssdk:sts` from 2.44.14 to 2.46.14\n\nUpdates `io.sentry:sentry-bom` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-logback` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-logback's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-logback's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-logback` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-logback's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-logback's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-spring-boot-4` from 8.28.0 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-spring-boot-4's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix replay recording freezing on screens with continuous animations (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5489\"\u003e#5489\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Populate \u003ccode\u003etrace_ids\u003c/code\u003e in replay events to enable searching replays by trace ID (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5473\"\u003e#5473\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.0\u003c/h2\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-spring-boot-4's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.2\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eImprove SDK init performance by replacing \u003ccode\u003ejava.net.URI\u003c/code\u003e with custom string parsing for DSN (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5448\"\u003e#5448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5520\"\u003e#5520\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: Fix \u003ccode\u003eVerifyError\u003c/code\u003e in Compose masking under DexGuard/R8 obfuscation (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5507\"\u003e#5507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSession Replay: Fix Compose view masking not working on obfuscated/minified builds (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5503\"\u003e#5503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.1\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.28.0...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.mock-server:mockserver-client-java` from 6.1.0 to 7.1.0\n\nUpdates `com.diffplug.spotless` from 8.6.0 to 8.7.0\n\nUpdates `io.sentry.jvm.gradle` from 6.8.1 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.11.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve the sentry-cli path as a task input instead of memoizing it in a static field, fixing stale-path build failures when switching branches with the configuration cache enabled (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1264\"\u003e#1264\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis fixed the issue where sentry-cli could not be found (\u003ccode\u003eA problem occurred starting process 'command  ../sentry-cliXXX.exe'\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDefer the telemetry default-org lookup to execution time so the configuration cache no longer re-runs \u003ccode\u003esentry-cli\u003c/code\u003e on every build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe published Gradle plugin and \u003ccode\u003esentry-snapshots-runtime\u003c/code\u003e POMs no longer declare a transitive \u003ccode\u003ekotlin-stdlib\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize Linux ARM64 architecture name for bundled sentry-cli binary lookup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.1 to v8.43.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1291\"\u003e#1291\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8432\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.1...8.43.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.10.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the Kotlin 2.4 compiler in the Compose tracing compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompose tracing no longer adds the Sentry modifier multiple times for chained modifiers (e.g. \u003ccode\u003eModifier.fillMaxSize().padding()\u003c/code\u003e) on Kotlin 2.2 and newer (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.0 to v8.43.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1261\"\u003e#1261\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8431\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.0...8.43.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.3 to v3.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1251\"\u003e#1251\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#350\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.3...3.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAPI Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe \u003ccode\u003edebug\u003c/code\u003e extension property is now typed as \u003ccode\u003eProperty\u0026lt;Boolean\u0026gt;\u003c/code\u003e instead of \u003ccode\u003eProperty\u0026lt;Boolean?\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.9.0\u003c/h2\u003e\n\u003ch3\u003eFixes\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/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.11.0\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eResolve the sentry-cli path as a task input instead of memoizing it in a static field, fixing stale-path build failures when switching branches with the configuration cache enabled (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1264\"\u003e#1264\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eThis fixed the issue where sentry-cli could not be found (\u003ccode\u003eA problem occurred starting process 'command  ../sentry-cliXXX.exe'\u003c/code\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDefer the telemetry default-org lookup to execution time so the configuration cache no longer re-runs \u003ccode\u003esentry-cli\u003c/code\u003e on every build (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1263\"\u003e#1263\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe published Gradle plugin and \u003ccode\u003esentry-snapshots-runtime\u003c/code\u003e POMs no longer declare a transitive \u003ccode\u003ekotlin-stdlib\u003c/code\u003e dependency (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1276\"\u003e#1276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNormalize Linux ARM64 architecture name for bundled sentry-cli binary lookup (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1201\"\u003e#1201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.1 to v8.43.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1291\"\u003e#1291\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8432\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.1...8.43.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.10.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for the Kotlin 2.4 compiler in the Compose tracing compiler plugin (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCompose tracing no longer adds the Sentry modifier multiple times for chained modifiers (e.g. \u003ccode\u003eModifier.fillMaxSize().padding()\u003c/code\u003e) on Kotlin 2.2 and newer (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1253\"\u003e#1253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Android SDK from v8.43.0 to v8.43.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1261\"\u003e#1261\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8431\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.0...8.43.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.3 to v3.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1251\"\u003e#1251\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sen...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-data-claims-notify-service/pull/36","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-data-claims-notify-service/issues/36","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/36/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-26T00:24:16.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4748344444","node_id":"PR_kwDOP3VK-c7qynDF","number":466,"state":"closed","title":"Bump the gradle-updates group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-29T00:24:06.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-26T00:24:16.000Z","updated_at":"2026-06-29T00:24:07.000Z","time_to_close":259190,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":4,"packages":[{"name":"io.sentry:sentry-bom","old_version":"8.43.2","new_version":"8.44.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"io.sentry.jvm.gradle","old_version":"6.11.0","new_version":"6.12.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 4 updates in the / directory: [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java), com.diffplug.spotless, [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) and [gradle-wrapper](https://github.com/gradle/gradle).\n\nUpdates `io.sentry:sentry-bom` from 8.43.2 to 8.44.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-java/releases\"\u003eio.sentry:sentry-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\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/getsentry/sentry-java/blob/main/CHANGELOG.md\"\u003eio.sentry:sentry-bom's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.44.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eenableStandaloneAppStartTracing\u003c/code\u003e option to send app start as a standalone transaction instead of attaching it as a child span of the first activity transaction (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5342\"\u003e#5342\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eDisabled by default; opt in via \u003ccode\u003eoptions.isEnableStandaloneAppStartTracing = true\u003c/code\u003e or manifest meta-data \u003ccode\u003eio.sentry.standalone-app-start-tracing.enable\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEmits a transaction named \u003ccode\u003eApp Start\u003c/code\u003e with op \u003ccode\u003eapp.start\u003c/code\u003e, carrying the existing app start measurements and phase spans (\u003ccode\u003eprocess.load\u003c/code\u003e, \u003ccode\u003econtentprovider.load\u003c/code\u003e, \u003ccode\u003eapplication.load\u003c/code\u003e, activity lifecycle spans) as direct children of the root\u003c/li\u003e\n\u003cli\u003eThe standalone transaction shares the same \u003ccode\u003etraceId\u003c/code\u003e as the first \u003ccode\u003eui.load\u003c/code\u003e activity transaction so they remain linked in the trace view\u003c/li\u003e\n\u003cli\u003eAlso covers non-activity starts (broadcast receivers, services, content providers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eReduce boxing to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5523\"\u003e#5523\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5527\"\u003e#5527\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eDate\u003c/code\u003e with a unix timestamp in \u003ccode\u003eSentryNanotimeDate\u003c/code\u003e to improve performance (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5550\"\u003e#5550\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentryNanotimeDate\u003c/code\u003e is now marked \u003ccode\u003e@ApiStatus.Internal\u003c/code\u003e. A new \u003ccode\u003e(long unixDateMillis, long nanos)\u003c/code\u003e constructor was added, where \u003ccode\u003eunixDateMillis\u003c/code\u003e is milliseconds since the epoch. The existing \u003ccode\u003e(Date, long)\u003c/code\u003e constructor is retained but deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to asyncProfiler 4.4 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5418\"\u003e#5418\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBump Native SDK from v0.14.2 to v0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5528\"\u003e#5528\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0150\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.14.2...0.15.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix attachments being duplicated on native events that carry scope attachments (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance collector scheduling many tasks in a row (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5524\"\u003e#5524\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.43.3\u003c/h2\u003e\n\u003ch3\u003eFixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix crash when \u003ccode\u003egetHistoricalProcessStartReasons\u003c/code\u003e is called from an isolated or wrong-userId process (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5597\"\u003e#5597\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/getsentry/sentry-java/commit/f944a75eb71cc82131a624d4fd91edeaa42bab7b\"\u003e\u003ccode\u003ef944a75\u003c/code\u003e\u003c/a\u003e release: 8.44.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3a7603a26335e1f1aafb78c75b4f1079819b25b3\"\u003e\u003ccode\u003e3a7603a\u003c/code\u003e\u003c/a\u003e perf(android): Replace Date with unix timestamp in SentryNanotimeDate (JAVA-5...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/06b0d8089c88819b4be74dd8eeff4aba34e9877b\"\u003e\u003ccode\u003e06b0d80\u003c/code\u003e\u003c/a\u003e chore(android-sqlite): Repair start times of spans generated by SentrySQLiteD...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/ba010111864967003758a5e4d750dfe04f995c18\"\u003e\u003ccode\u003eba01011\u003c/code\u003e\u003c/a\u003e perf: Avoid boxing in doubleToBigDecimal timestamp serialization (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5551\"\u003e#5551\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e52b4e44a1eb195adcd0fbe2761d33e708ac5d49\"\u003e\u003ccode\u003ee52b4e4\u003c/code\u003e\u003c/a\u003e chore(deps): bump actions/setup-java in the github-actions group (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5554\"\u003e#5554\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/6dff1c9970ad612ac431980c08abb138218465e0\"\u003e\u003ccode\u003e6dff1c9\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-sentry-native-ndk.sh to 0.15.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5528\"\u003e#5528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/f36e6e37ec1517fa6e3c06ab79abc6775e2ef1bf\"\u003e\u003ccode\u003ef36e6e3\u003c/code\u003e\u003c/a\u003e fix(android): Stop duplicating attachments on native events (JAVA-559) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5548\"\u003e#5548\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/773a0df13db7654c534b8775902021af234fa3d5\"\u003e\u003ccode\u003e773a0df\u003c/code\u003e\u003c/a\u003e ci: Remove Codecov and code coverage tooling (JAVA-560) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/3eb7173bf3fbd040000b90276e47f41aed8b05db\"\u003e\u003ccode\u003e3eb7173\u003c/code\u003e\u003c/a\u003e feat(android-sqlite): Add SentrySQLiteDriver (JAVA-275) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5466\"\u003e#5466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/9d2f4e3096958e67c6acc73926f7fde9e1bf2925\"\u003e\u003ccode\u003e9d2f4e3\u003c/code\u003e\u003c/a\u003e chore(samples-android): Support mavenLocal for builds that apply the SAGP (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5\"\u003e#5\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.diffplug.spotless` from 8.6.0 to 8.7.0\n\nUpdates `io.sentry.jvm.gradle` from 6.11.0 to 6.12.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/releases\"\u003eio.sentry.jvm.gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-android-gradle-plugin/blob/main/CHANGELOG.md\"\u003eio.sentry.jvm.gradle's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.12.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.5.0 to v3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1300\"\u003e#1300\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#351\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.5.0...3.5.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.43.2 to v8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1302\"\u003e#1302\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8440\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.43.2...8.44.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-android-gradle-plugin/commit/dab73e2f0432c68b54ba264451f31e7ec8d9c581\"\u003e\u003ccode\u003edab73e2\u003c/code\u003e\u003c/a\u003e release: 6.12.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/2b4b320515f435941a9ed7d56b9ce8e49f00f87d\"\u003e\u003ccode\u003e2b4b320\u003c/code\u003e\u003c/a\u003e chore: update scripts/update-android.sh to 8.44.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1302\"\u003e#1302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/9e033dfab205aa95e99b76d0521cf69f3f908eda\"\u003e\u003ccode\u003e9e033df\u003c/code\u003e\u003c/a\u003e Add renovate.json (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/758\"\u003e#758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f62e071eea2e6db2b0e646fcbd4f0dddd17fffb5\"\u003e\u003ccode\u003ef62e071\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/setup-java from 5.2.0 to 5.3.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1301\"\u003e#1301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/a5a55f8448cddd9e0282a89c436b339704b30ab3\"\u003e\u003ccode\u003ea5a55f8\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/sentry-cli.properties to 3.5.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1300\"\u003e#1300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/4dd67c328474b96f93aaf7d1011f62fd4de89aa5\"\u003e\u003ccode\u003e4dd67c3\u003c/code\u003e\u003c/a\u003e build(deps): bump gradle/actions from 6.1.1 to 6.2.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1299\"\u003e#1299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/e170ef1ecfab73eb2b86700ddfb611b2ae4d2db5\"\u003e\u003ccode\u003ee170ef1\u003c/code\u003e\u003c/a\u003e build(deps): bump getsentry/craft from 2.26.9 to 2.26.10 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1293\"\u003e#1293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b7e3050924a74e7fca1c3df55b0682f45d0477b1\"\u003e\u003ccode\u003eb7e3050\u003c/code\u003e\u003c/a\u003e build(deps): bump getsentry/craft/.github/workflows/changelog-preview.yml (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/b1fd65d39eb6c6521863d4e5a6142919e62572cb\"\u003e\u003ccode\u003eb1fd65d\u003c/code\u003e\u003c/a\u003e Merge branch 'release/6.11.0'\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.11.0...6.12.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\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 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/ministryofjustice/laa-amend-a-claim/pull/466","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-amend-a-claim/issues/466","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/466/packages"}},{"old_version":"8.5.1","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-24T01:19:18.000Z","version_change":"8.5.1 → 8.7.0","issue":{"uuid":"4730827954","node_id":"PR_kwDOSuoDCM7p5vYg","number":5,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 13 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-26T01:15:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-24T01:19:18.000Z","updated_at":"2026-06-26T01:15:18.000Z","time_to_close":172558,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":13,"packages":[{"name":"gradle-wrapper","old_version":"9.1.0","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.35","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.3.0","new_version":"4.3.1"},{"name":"io.arrow-kt:arrow-core","old_version":"2.2.2.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.arrow-kt:arrow-fx-coroutines","old_version":"2.2.2.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.5","new_version":"1.17.0","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"com.diffplug.spotless","old_version":"8.5.1","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 13 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.1.0` | `9.6.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.35` |\n| org.apache.kafka:kafka-clients | `4.3.0` | `4.3.1` |\n| [io.arrow-kt:arrow-core](https://github.com/arrow-kt/arrow) | `2.2.2.1` | `2.2.3` |\n| [io.arrow-kt:arrow-fx-coroutines](https://github.com/arrow-kt/arrow) | `2.2.2.1` | `2.2.3` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.5` | `1.17.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| com.diffplug.spotless | `8.5.1` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.1.0 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.1.0...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.32 to 1.5.35\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.5.35\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e026-06-23 Release of logback version 1.5.35\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now rejects unicode escape sequences (\\u and \\U). This closes a bypass of the existing prohibition on the new operator in Janino-evaluated conditions. This issue was reported by IcySun (\u003ca href=\"mailto:icysun@qq.com\"\u003eicysun@qq.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• Added \u003ccode\u003eConfiguratorRank.AUTHENTICATING\u003c/code\u003e (rank 100), the highest configurator rank, for certified/authenticating configurators discovered via the ServiceLoader mechanism. \u003ccode\u003eContextInitializer\u003c/code\u003e now requires that at most one such configurator exist on the classpath; if more than one is found, initialization aborts with an error.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eConsoleCharsetPropertyDefiner\u003c/code\u003e is no longer shipped. The Java 21 multi-release compilation of logback-core has been disabled, which removes this class from the published artifact. Configurations that referenced \u003ccode\u003ech.qos.logback.core.property.ConsoleCharsetPropertyDefiner\u003c/code\u003e will need an alternative approach for console charset detection.\u003c/p\u003e\n\u003cp\u003e• The logback-examples module is now included in artifacts published to Maven Central.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eJoranConfigurator.makeAnotherInstance()\u003c/code\u003e and \u003ccode\u003eDefaultJoranConfigurator.performMultiStepConfigurationFileSearch()\u003c/code\u003e are now protected, allowing derived configurators to override these methods.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 08bd1598d565d83444f72983935e7da4746783b7 associated with the tag v_1.5.35. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.34\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-01 Release of logback version 1.5.34\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In case certain StackTraceElement values returned by the Throwable.getStackTrace method are null, StackTraceElementProxy substitutes a dummy instance instead of throwing an IllegalArgumentException. This resolves [issues \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003e#1040\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003eqos-ch/logback#1040\u003c/a\u003e), reported by Naotsugu Kobayashi.\u003c/p\u003e\n\u003cp\u003e• HardenedObjectInputStream will now throw an InvalidClassException during deserialization attempts of Proxy classes. This change addresses potential deserialization whitelist bypass vulnerability reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-10532\"\u003eCVE-2026-10532\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit e62272ac152469aec1ede056c3c7d0d7314e7bfe associated with the tag v_1.5.34. This release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.33\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-05-27 Release of logback version 1.5.33\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003ePropertiesConfiguratorModelHandler\u003c/code\u003e now registers properties file URLs to the \u003ccode\u003eConfigurationWatchList\u003c/code\u003e when scan is enabled (via local scan=\u0026quot;true\u0026quot; attribute or top-level configuration scan), ensuring changes are detected and reconfiguration occurs. This problem was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1034\"\u003eissues/1034\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• When processing \u003ccode\u003e\u0026lt;conversionRule\u0026gt;\u003c/code\u003e elements and both \u003ccode\u003eclass\u003c/code\u003e and \u003ccode\u003econverterClass\u003c/code\u003e attributes are specified, silently use the class attribute without issuing a warning. However, if the attribute values differ, a warning will be issued. This change was requested in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1031\"\u003eissues/1031\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eHardenedModelInputStream\u003c/code\u003e will no longer accept to deserialize all classes located under the \u0026quot;java.lang\u0026quot; and \u0026quot;java.util\u0026quot; packages but a limited number of explicitly authorized classes in those packages. This potential deserialization whitelist bypass vulnerability was reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-9828\"\u003eCVE-2026-9828\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• SSL parameters for \u003ccode\u003eSSLSocketAppender\u003c/code\u003e now enable hostname verification by default. Moreover, the default protocol is now \u0026quot;TLSv1.2\u0026quot;. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• When printing the status message field, \u003ccode\u003eViewStatusMessagesServletBase\u003c/code\u003e now escapes special characters such as \u0026quot;\u0026amp;\u0026quot; as character entities. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• A bit-wise identical binary of this version can be reproduced by building from source code at commit 124e8b49b55ac34d08743a0646bd463410192647 associated with the tag v_1.5.33. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\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/qos-ch/logback/commit/08bd1598d565d83444f72983935e7da4746783b7\"\u003e\u003ccode\u003e08bd159\u003c/code\u003e\u003c/a\u003e preapre release 1.5.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/37d256b825fc62b4a3908fa29d8b4e34acf79ed0\"\u003e\u003ccode\u003e37d256b\u003c/code\u003e\u003c/a\u003e indentation changes only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d3d73078afbb0691423f60a066d77503fdf05fc3\"\u003e\u003ccode\u003ed3d7307\u003c/code\u003e\u003c/a\u003e minor comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/fa0411a9393282ba69396ce65f122d281c079ac0\"\u003e\u003ccode\u003efa0411a\u003c/code\u003e\u003c/a\u003e radomize file location\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/834fdba8085727f96fc12214ff6dd71ab3ac6a25\"\u003e\u003ccode\u003e834fdba\u003c/code\u003e\u003c/a\u003e disable consoleCharset test\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/42eabc374ad8348e9f74e9cd4b59ae5168dd1c2b\"\u003e\u003ccode\u003e42eabc3\u003c/code\u003e\u003c/a\u003e fix messages in IfModelHandler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/347efc8ec3f10defafd0cf6d4b9a0c81b3320c3a\"\u003e\u003ccode\u003e347efc8\u003c/code\u003e\u003c/a\u003e add unicode escape prevention\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/1b6ba73679437670b37aa1d9061ca82dfd554afb\"\u003e\u003ccode\u003e1b6ba73\u003c/code\u003e\u003c/a\u003e allow derived classes to override makeAnotherInstance\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/340e8be17c9a43d022c301e00b83601affd1fee5\"\u003e\u003ccode\u003e340e8be\u003c/code\u003e\u003c/a\u003e check for unicode escape codes in Janino conditions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/4468f5e5fb67872a14131a7d4feb736131d17202\"\u003e\u003ccode\u003e4468f5e\u003c/code\u003e\u003c/a\u003e adding support for certifying configurators\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.5.35\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.kafka:kafka-clients` from 4.3.0 to 4.3.1\n\nUpdates `io.arrow-kt:arrow-core` from 2.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\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.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\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.2.2.1 to 2.2.3\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.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eEvery\u003c/code\u003e optics for \u003ccode\u003eSet\u003c/code\u003e 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/3899\"\u003earrow-kt/arrow#3899\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse common atomics on non-JVM platforms 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/3879\"\u003earrow-kt/arrow#3879\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd holdsIn contracts 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/3803\"\u003earrow-kt/arrow#3803\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdates for Kotlin 2.4.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/3904\"\u003earrow-kt/arrow#3904\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to Jackson integration with non-empty collections 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/3909\"\u003earrow-kt/arrow#3909\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eKeep Jackson ABI intact 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/3911\"\u003earrow-kt/arrow#3911\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.2.1...2.2.3\"\u003ehttps://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\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/arrow-kt/arrow/commit/5b3db44c73ff1cda844e02828427b6b5b000fee4\"\u003e\u003ccode\u003e5b3db44\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3916\"\u003e#3916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/f26013d2766bef3791ff3923ce770f10a9410c59\"\u003e\u003ccode\u003ef26013d\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3915\"\u003e#3915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/fe0ace8f03a6cb9b1eeefe2e128f9b981c135204\"\u003e\u003ccode\u003efe0ace8\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3914\"\u003e#3914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/d72494800b49498a6bfce6e5020d4820bb259b52\"\u003e\u003ccode\u003ed724948\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3913\"\u003e#3913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/7d5df0746a1e9184481dd41f83cdd513016d5bd1\"\u003e\u003ccode\u003e7d5df07\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3912\"\u003e#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/471895894d4945443807611364d0d2eb8494c0de\"\u003e\u003ccode\u003e4718958\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.jetbrains.kotlin-wrappers:kotlin-js to v2026...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/498952be5ec701e8a44a443e3993ff35208cfb30\"\u003e\u003ccode\u003e498952b\u003c/code\u003e\u003c/a\u003e Keep Jackson ABI intact (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3911\"\u003e#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/0ec8b65161d59002376f441254f113c9fb4167d7\"\u003e\u003ccode\u003e0ec8b65\u003c/code\u003e\u003c/a\u003e Improvements to Jackson integration with non-empty collections (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3909\"\u003e#3909\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/e0276063897ec486edb8c73f45483e7de0e11697\"\u003e\u003ccode\u003ee027606\u003c/code\u003e\u003c/a\u003e fix(deps): update all dependencies (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3906\"\u003e#3906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arrow-kt/arrow/commit/5300e4545901cf317612b940c26ff62d6d662369\"\u003e\u003ccode\u003e5300e45\u003c/code\u003e\u003c/a\u003e chore(deps): update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/arrow-kt/arrow/issues/3907\"\u003e#3907\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/arrow-kt/arrow/compare/2.2.2.1...2.2.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.micrometer:micrometer-registry-prometheus` from 1.16.5 to 1.17.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases\"\u003eio.micrometer:micrometer-registry-prometheus's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.17.0\u003c/h2\u003e\n\u003cp\u003eSee also the \u003ca href=\"https://github.com/micrometer-metrics/micrometer/wiki/1.17-Migration-Guide\"\u003e1.17 migration guide\u003c/a\u003e and the release notes for \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-RC1\"\u003e1.17.0-RC1\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M3\"\u003e1.17.0-M3\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M2\"\u003e1.17.0-M2\u003c/a\u003e, \u003ca href=\"https://github.com/micrometer-metrics/micrometer/releases/tag/v1.17.0-M1\"\u003e1.17.0-M1\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003e:lady_beetle: Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eArrayIndexOutOfBoundsException when using LongTaskTimer \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/3877\"\u003e#3877\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJetty 12's TimedHandler marks some requests with outcome UNKNOWN \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7276\"\u003e#7276\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMeterRegistry closes HighCardinalityTagsDetector twice if the registry is closed twice \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7409\"\u003e#7409\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce allocation in HTTP server instrumentation \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7580\"\u003e#7580\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce allocation in gRPC server convention \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7581\"\u003e#7581\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\u003eClarify time series produced by LongTaskTimer when using Prometheus \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6507\"\u003e#6507\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument metrics that need to close the MeterBinder \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/4624\"\u003e#4624\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMultigauge Documentation lacks overwrite=true \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/4403\"\u003e#4403\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump com.dynatrace.metric.util:dynatrace-metric-utils-java from 2.4.0 to 2.5.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7452\"\u003e#7452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.auth:google-auth-library-oauth2-http from 1.43.0 to 1.48.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7397\"\u003e#7397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.cloud:google-cloud-monitoring from 3.89.0 to 3.94.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7398\"\u003e#7398\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.cloud:libraries-bom from 26.79.0 to 26.83.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7497\"\u003e#7497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.netflix.spectator:spectator-reg-atlas from 1.9.6 to 1.9.9 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7552\"\u003e#7552\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump dropwizard-metrics from 4.2.38 to 4.2.39 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7527\"\u003e#7527\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump io.prometheus:prometheus-metrics-bom from 1.5.1 to 1.7.0 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7572\"\u003e#7572\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump software.amazon.awssdk:cloudwatch from 2.42.32 to 2.46.4 \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7494\"\u003e#7494\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThank you to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/blaspat\"\u003e\u003ccode\u003e@​blaspat\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/codingkiddo\"\u003e\u003ccode\u003e@​codingkiddo\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/izeye\"\u003e\u003ccode\u003e@​izeye\u003c/code\u003e\u003c/a\u003e, \u003ca href=\"https://github.com/jewoodev\"\u003e\u003ccode\u003e@​jewoodev\u003c/code\u003e\u003c/a\u003e, and \u003ca href=\"https://github.com/schiemon\"\u003e\u003ccode\u003e@​schiemon\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e1.17.0-RC1\u003c/h2\u003e\n\u003ch2\u003e:star: New Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd meter for ForkJoinPool#getDelayedTaskCount \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6381\"\u003e#6381\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for JDK 26's MemoryPoolMXBean.getTotalGcCpuTime() \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7245\"\u003e#7245\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eClear the state of the ObservationValidator \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7337\"\u003e#7337\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove exemplars sizing and add exemplarsSize config \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7324\"\u003e#7324\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eLog warning when a registry is added to composite after meter registration \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6908\"\u003e#6908\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTreat OkHttp Request as non-nullable \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/pull/7388\"\u003e#7388\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eValidate \u003ccode\u003eObservation.Scope\u003c/code\u003e closing when using TestObservationRegistry \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/6329\"\u003e#6329\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\u003eInvalid reflection hint in micrometer-core for native GraalVM 25 build \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7316\"\u003e#7316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eObservationGrpcClientInterceptor throws NPE when NameResolver returns empty authority \u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7380\"\u003e#7380\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/micrometer-metrics/micrometer/commit/8466feab03a1c6bdb9c2f854e3aa31affc52a356\"\u003e\u003ccode\u003e8466fea\u003c/code\u003e\u003c/a\u003e Merge branch '1.16.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/fa2ed3265e1f423c2fc4bd5c582b459d0c2ab082\"\u003e\u003ccode\u003efa2ed32\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/dc2e5e2ea33a41a271b4b40e796ef39f1ed056af\"\u003e\u003ccode\u003edc2e5e2\u003c/code\u003e\u003c/a\u003e Reduce allocation in gRPC server convention\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/36da131525228188a36779a28471a76c79213dd4\"\u003e\u003ccode\u003e36da131\u003c/code\u003e\u003c/a\u003e Reduce allocation in HTTP server instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/9591cb40a9bfb5ec0743da1dd9760d4e07a9dd70\"\u003e\u003ccode\u003e9591cb4\u003c/code\u003e\u003c/a\u003e Bump com.uber.nullaway:nullaway from 0.13.5 to 0.13.6 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7575\"\u003e#7575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/7a92a446994b1a24c9994093ff460f2040bcbe76\"\u003e\u003ccode\u003e7a92a44\u003c/code\u003e\u003c/a\u003e Bump software.amazon.awssdk:cloudwatch from 2.46.3 to 2.46.4 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7576\"\u003e#7576\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/e11e7c6b3e579c607393905732d3b9b1f5863e95\"\u003e\u003ccode\u003ee11e7c6\u003c/code\u003e\u003c/a\u003e Merge branch '1.16.x'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/d8e8bcb56b5c48cf015c56ea324cc4ebdea976fc\"\u003e\u003ccode\u003ed8e8bcb\u003c/code\u003e\u003c/a\u003e Merge branch '1.15.x' into 1.16.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/cf6ac0231a6115420fcfcd90eb530ea327d1d98a\"\u003e\u003ccode\u003ecf6ac02\u003c/code\u003e\u003c/a\u003e Reduce flakiness of PushMeterRegistryTest (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7574\"\u003e#7574\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/micrometer-metrics/micrometer/commit/d74759acf5de309aef7dd6cc862e37501866814c\"\u003e\u003ccode\u003ed74759a\u003c/code\u003e\u003c/a\u003e Bump com.google.cloud:google-cloud-monitoring from 3.93.0 to 3.94.0 (\u003ca href=\"https://redirect.github.com/micrometer-metrics/micrometer/issues/7573\"\u003e#7573\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/micrometer-metrics/micrometer/compare/v1.16.5...v1.17.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations` from 2.28.1 to 2.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and 64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to \u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now and log a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and \u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv stability setting. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names and \u003ccode\u003edb.*\u003c/code\u003e attributes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18808\"\u003e#18808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18853\"\u003e#18853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18920\"\u003e#18920\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18922\"\u003e#18922\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18926\"\u003e#18926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18930\"\u003e#18930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18970\"\u003e#18970\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18979\"\u003e#18979\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18980\"\u003e#18980\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18984\"\u003e#18984\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18985\"\u003e#18985\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18986\"\u003e#18986\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18987\"\u003e#18987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18989\"\u003e#18989\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18990\"\u003e#18990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18992\"\u003e#18992\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18993\"\u003e#18993\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19004\"\u003e#19004\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19005\"\u003e#19005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture query text and parameterization for Cassandra batch statements. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18964\"\u003e#18964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003eopentelemetry-api\u003c/code\u003e and \u003ccode\u003eopentelemetry-instrumentation-annotations\u003c/code\u003e enabled under \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e even when \u003ccode\u003edefault-enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18792\"\u003e#18792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, affected instrumentations emit \u003ccode\u003euser.*\u003c/code\u003e identity attributes instead of \u003ccode\u003eenduser.*\u003c/code\u003e ones. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18795\"\u003e#18795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kafka client metrics by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18828\"\u003e#18828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecognize Amazon Aurora DSQL and AWS wrapper JDBC URL prefixes when parsing JDBC connection metadata. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18831\"\u003e#18831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet instrumentation versions on emitted Meter scopes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18866\"\u003e#18866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation after other instrumentations so other advice can attach attributes to the active span. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18874\"\u003e#18874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit database client failures as \u003ccode\u003edb.client.operation.exception\u003c/code\u003e logs when \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18889\"\u003e#18889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit RPC exceptions as log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18890\"\u003e#18890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit messaging exceptions as log records under \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18891\"\u003e#18891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efaas.invocation.exception\u003c/code\u003e log records for FaaS exceptions when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18892\"\u003e#18892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003egen_ai.client.operation.exception\u003c/code\u003e logs for OpenAI chat and embeddings failures when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18893\"\u003e#18893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit AWS SDK request failures as \u003ccode\u003erpc.client.call.exception\u003c/code\u003e log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18894\"\u003e#18894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeclarative configuration now supports per-domain semantic-convention selection using \u003ccode\u003esemconv.version\u003c/code\u003e, \u003ccode\u003esemconv.experimental\u003c/code\u003e, and \u003ccode\u003esemconv.dual_emit\u003c/code\u003e settings. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18908\"\u003e#18908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, use \u003ccode\u003eotel.semconv-stability.preview\u003c/code\u003e instead of \u003ccode\u003eotel.semconv-stability.opt-in\u003c/code\u003e to opt in to the nonstable \u003ccode\u003eservice.peer\u003c/code\u003e and \u003ccode\u003erpc\u003c/code\u003e semantic conventions. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18914\"\u003e#18914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kotlin coroutines \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18919\"\u003e#18919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the summary-aware path in \u003ccode\u003eSqlQueryAnalyzer.analyze()\u003c/code\u003e when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18921\"\u003e#18921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, deprecated JDBC/db sanitization config names are ignored in favor of \u003ccode\u003edb.query_sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18934\"\u003e#18934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003ejvm.gc.cause\u003c/code\u003e on GC duration metrics when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18967\"\u003e#18967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit duration metrics for JDBC transaction operations \u003ccode\u003eCOMMIT\u003c/code\u003e and \u003ccode\u003eROLLBACK\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19003\"\u003e#19003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a generated \u003ccode\u003eInstrumentationVersion\u003c/code\u003e class in OkHttp 3.0 instead of reading embedded version properties, avoiding Android StrictMode disk-read violations. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19006\"\u003e#19006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd thread details span attributes for declarative Spring starter configuration when \u003ccode\u003edistribution.spring_starter.thread_details_enabled\u003c/code\u003e is set. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19008\"\u003e#19008\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\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/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0 (2026-06-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and\n64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names\ndeprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to\n\u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now\nand log a warning.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with\n\u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and\n\u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv\nstability setting.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in\n(\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names\nand \u003ccode\u003edb.*\u003c/code\u003e attributes.\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/open-telemetry/opentelemetry-java-instrumentation/commit/c215cb489a90d95c2ea5808fbdcd2f7d81d2f2ae\"\u003e\u003ccode\u003ec215cb4\u003c/code\u003e\u003c/a\u003e [release/v2.29.x] Prepare release 2.29.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19042\"\u003e#19042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/8e25e07fb2bab7bd4e954d7bb744f977e9dbe785\"\u003e\u003ccode\u003e8e25e07\u003c/code\u003e\u003c/a\u003e Draft release notes (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19040\"\u003e#19040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/63de06bb3c29dd0cdf4059b5b755bb6bbde7fe71\"\u003e\u003ccode\u003e63de06b\u003c/code\u003e\u003c/a\u003e Update pinned latest dep versions (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19033\"\u003e#19033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/5f25ddfdde5f5e410e4bd3d87be531298f6cb5eb\"\u003e\u003ccode\u003e5f25ddf\u003c/code\u003e\u003c/a\u003e fix(deps): update quarkus packages to v3.37.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19031\"\u003e#19031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/16c6d2a40218c0e632b1c177e7ec381a340c0804\"\u003e\u003ccode\u003e16c6d2a\u003c/code\u003e\u003c/a\u003e fix(deps): update armeria packages to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19032\"\u003e#19032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/a5ad92266f119e02d7062f34c5d2e7540be87f52\"\u003e\u003ccode\u003ea5ad922\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency commons-logging:commons-logging to v1.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19030\"\u003e#19030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/0fe64a2f6c5f0d1924b5e9b2b174858970d0efbf\"\u003e\u003ccode\u003e0fe64a2\u003c/code\u003e\u003c/a\u003e Run openserch asyn callbacks with parent context (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19027\"\u003e#19027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/23da7602a2b7d95f9383f8ca241e088846d85f0e\"\u003e\u003ccode\u003e23da760\u003c/code\u003e\u003c/a\u003e Set request timeout only for the read timeout test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19025\"\u003e#19025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/7698f71f67b5e7d0e52db6030ccb873550b39fdf\"\u003e\u003ccode\u003e7698f71\u003c/code\u003e\u003c/a\u003e Set query timeouts for camel cassandara test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19026\"\u003e#19026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/6fd466c821b1c3d874a921a920310328d34601a7\"\u003e\u003ccode\u003e6fd466c\u003c/code\u003e\u003c/a\u003e Add another port wait for hadoop test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19028\"\u003e#19028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.28.1...v2.29.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-test-junit` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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/JetBrai...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/tsm-behandlingsdager/pull/5","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Ftsm-behandlingsdager/issues/5","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/5/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-22T13:23:13.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4717024842","node_id":"PR_kwDOLPjc487pMDDU","number":92,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 12 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-24T01:24:09.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T13:23:13.000Z","updated_at":"2026-06-24T01:24:10.000Z","time_to_close":129656,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":12,"packages":[{"name":"gradle-wrapper","old_version":"9.5.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.28.1","new_version":"2.29.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.kotest:kotest-assertions-core","old_version":"6.1.11","new_version":"6.2.1","repository_url":"https://github.com/kotest/kotest"},{"name":"org.postgresql:r2dbc-postgresql","old_version":"1.1.1.RELEASE","new_version":"1.1.2.RELEASE","repository_url":"https://github.com/pgjdbc/r2dbc-postgresql"},{"name":"org.flywaydb:flyway-core","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.8.1","new_version":"12.9.0"},{"name":"org.flywaydb.flyway","old_version":"12.8.1","new_version":"12.9.0"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"dev.detekt","old_version":"2.0.0-alpha.3","new_version":"2.0.0-alpha.5","repository_url":"https://github.com/detekt/detekt"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.1` | `9.6.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.28.1` | `2.29.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [io.kotest:kotest-assertions-core](https://github.com/kotest/kotest) | `6.1.11` | `6.2.1` |\n| [org.postgresql:r2dbc-postgresql](https://github.com/pgjdbc/r2dbc-postgresql) | `1.1.1.RELEASE` | `1.1.2.RELEASE` |\n| org.flywaydb:flyway-core | `12.8.1` | `12.9.0` |\n| org.flywaydb:flyway-database-postgresql | `12.8.1` | `12.9.0` |\n| org.flywaydb.flyway | `12.8.1` | `12.9.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| [dev.detekt](https://github.com/detekt/detekt) | `2.0.0-alpha.3` | `2.0.0-alpha.5` |\n\n\nUpdates `gradle-wrapper` from 9.5.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.1...v9.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations` from 2.28.1 to 2.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version number, reflecting that they will continue to have breaking changes. Please see \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e for more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and 64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e, \u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names deprecated. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to \u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now and log a warning. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and \u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv stability setting. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in (\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names and \u003ccode\u003edb.*\u003c/code\u003e attributes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18808\"\u003e#18808\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18853\"\u003e#18853\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18920\"\u003e#18920\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18922\"\u003e#18922\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18926\"\u003e#18926\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18930\"\u003e#18930\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18970\"\u003e#18970\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18979\"\u003e#18979\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18980\"\u003e#18980\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18984\"\u003e#18984\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18985\"\u003e#18985\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18986\"\u003e#18986\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18987\"\u003e#18987\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18989\"\u003e#18989\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18990\"\u003e#18990\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18992\"\u003e#18992\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18993\"\u003e#18993\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19004\"\u003e#19004\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19005\"\u003e#19005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCapture query text and parameterization for Cassandra batch statements. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18964\"\u003e#18964\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003eopentelemetry-api\u003c/code\u003e and \u003ccode\u003eopentelemetry-instrumentation-annotations\u003c/code\u003e enabled under \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e even when \u003ccode\u003edefault-enabled=false\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18792\"\u003e#18792\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, affected instrumentations emit \u003ccode\u003euser.*\u003c/code\u003e identity attributes instead of \u003ccode\u003eenduser.*\u003c/code\u003e ones. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18795\"\u003e#18795\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kafka client metrics by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18828\"\u003e#18828\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecognize Amazon Aurora DSQL and AWS wrapper JDBC URL prefixes when parsing JDBC connection metadata. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18831\"\u003e#18831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSet instrumentation versions on emitted Meter scopes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18866\"\u003e#18866\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation after other instrumentations so other advice can attach attributes to the active span. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18874\"\u003e#18874\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit database client failures as \u003ccode\u003edb.client.operation.exception\u003c/code\u003e logs when \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18889\"\u003e#18889\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit RPC exceptions as log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18890\"\u003e#18890\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit messaging exceptions as log records under \u003ccode\u003eotel.semconv.exception.signal.preview\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18891\"\u003e#18891\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003efaas.invocation.exception\u003c/code\u003e log records for FaaS exceptions when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18892\"\u003e#18892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit \u003ccode\u003egen_ai.client.operation.exception\u003c/code\u003e logs for OpenAI chat and embeddings failures when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18893\"\u003e#18893\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit AWS SDK request failures as \u003ccode\u003erpc.client.call.exception\u003c/code\u003e log records when \u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18894\"\u003e#18894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeclarative configuration now supports per-domain semantic-convention selection using \u003ccode\u003esemconv.version\u003c/code\u003e, \u003ccode\u003esemconv.experimental\u003c/code\u003e, and \u003ccode\u003esemconv.dual_emit\u003c/code\u003e settings. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18908\"\u003e#18908\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, use \u003ccode\u003eotel.semconv-stability.preview\u003c/code\u003e instead of \u003ccode\u003eotel.semconv-stability.opt-in\u003c/code\u003e to opt in to the nonstable \u003ccode\u003eservice.peer\u003c/code\u003e and \u003ccode\u003erpc\u003c/code\u003e semantic conventions. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18914\"\u003e#18914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable Kotlin coroutines \u003ccode\u003e@WithSpan\u003c/code\u003e instrumentation by default when \u003ccode\u003eotel.instrumentation.common.v3-preview=true\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18919\"\u003e#18919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse the summary-aware path in \u003ccode\u003eSqlQueryAnalyzer.analyze()\u003c/code\u003e when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18921\"\u003e#18921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWhen \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled, deprecated JDBC/db sanitization config names are ignored in favor of \u003ccode\u003edb.query_sanitization.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18934\"\u003e#18934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003ejvm.gc.cause\u003c/code\u003e on GC duration metrics when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18967\"\u003e#18967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEmit duration metrics for JDBC transaction operations \u003ccode\u003eCOMMIT\u003c/code\u003e and \u003ccode\u003eROLLBACK\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19003\"\u003e#19003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse a generated \u003ccode\u003eInstrumentationVersion\u003c/code\u003e class in OkHttp 3.0 instead of reading embedded version properties, avoiding Android StrictMode disk-read violations. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19006\"\u003e#19006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd thread details span attributes for declarative Spring starter configuration when \u003ccode\u003edistribution.spring_starter.thread_details_enabled\u003c/code\u003e is set. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19008\"\u003e#19008\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\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/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.29.0 (2026-06-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.63.0.\u003c/p\u003e\n\u003cp\u003eNote that many artifacts have the \u003ccode\u003e-alpha\u003c/code\u003e suffix attached to their version\nnumber, reflecting that they will continue to have breaking changes. Please see\n\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/VERSIONING.md#opentelemetry-java-instrumentation-versioning\"\u003eVERSIONING.md\u003c/a\u003e\nfor more details.\u003c/p\u003e\n\u003ch3\u003e⚠️ Breaking changes to non-stable APIs\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eChange the return type for \u003ccode\u003eJmxTelemetry.start(...)\u003c/code\u003e APIs.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782\"\u003e#18782\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExperimental runtime package telemetry now emits \u003ccode\u003epackage.checksum_algorithm=SHA-256\u003c/code\u003e and\n64-character \u003ccode\u003epackage.checksum\u003c/code\u003e values instead of SHA1 checksums.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846\"\u003e#18846\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRename the common logging context keys to \u003ccode\u003eotel.instrumentation.common.logging.trace-id-key\u003c/code\u003e,\n\u003ccode\u003eotel.instrumentation.common.logging.span-id-key\u003c/code\u003e, and\n\u003ccode\u003eotel.instrumentation.common.logging.trace-flags-key\u003c/code\u003e, while keeping the old property names\ndeprecated.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851\"\u003e#18851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ekafka-broker\u003c/code\u003e and \u003ccode\u003ekafka-connect\u003c/code\u003e JMX target systems to\n\u003ccode\u003eexperimental-kafka-broker\u003c/code\u003e and \u003ccode\u003eexperimental-kafka-connect\u003c/code\u003e; the old names still work for now\nand log a warning.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971\"\u003e#18971\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New javaagent instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589\"\u003e#15589\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd Javaagent instrumentation for HBase client 2.0.0 through 2.5.0.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253\"\u003e#18253\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd opt-in support for emitting HTTP request exceptions as log signals with\n\u003ccode\u003eotel.semconv.exception.signal.preview=logs\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259\"\u003e#16259\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eopentelemetry-api-1.63\u003c/code\u003e Javaagent instrumentation for OpenTelemetry API 1.63 and\n\u003ccode\u003eopentelemetry-api-incubator\u003c/code\u003e 1.63.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911\"\u003e#18911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eotel.semconv-stability.v3-preview\u003c/code\u003e as a fallback for the declarative \u003ccode\u003ev3_preview\u003c/code\u003e semconv\nstability setting.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936\"\u003e#18936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate the experimental stable database semantic-convention opt-in\n(\u003ccode\u003eotel.semconv-stability.opt-in=database\u003c/code\u003e) across database instrumentations, including span names\nand \u003ccode\u003edb.*\u003c/code\u003e attributes.\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/open-telemetry/opentelemetry-java-instrumentation/commit/c215cb489a90d95c2ea5808fbdcd2f7d81d2f2ae\"\u003e\u003ccode\u003ec215cb4\u003c/code\u003e\u003c/a\u003e [release/v2.29.x] Prepare release 2.29.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19042\"\u003e#19042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/8e25e07fb2bab7bd4e954d7bb744f977e9dbe785\"\u003e\u003ccode\u003e8e25e07\u003c/code\u003e\u003c/a\u003e Draft release notes (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19040\"\u003e#19040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/63de06bb3c29dd0cdf4059b5b755bb6bbde7fe71\"\u003e\u003ccode\u003e63de06b\u003c/code\u003e\u003c/a\u003e Update pinned latest dep versions (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19033\"\u003e#19033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/5f25ddfdde5f5e410e4bd3d87be531298f6cb5eb\"\u003e\u003ccode\u003e5f25ddf\u003c/code\u003e\u003c/a\u003e fix(deps): update quarkus packages to v3.37.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19031\"\u003e#19031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/16c6d2a40218c0e632b1c177e7ec381a340c0804\"\u003e\u003ccode\u003e16c6d2a\u003c/code\u003e\u003c/a\u003e fix(deps): update armeria packages to v1.40.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19032\"\u003e#19032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/a5ad92266f119e02d7062f34c5d2e7540be87f52\"\u003e\u003ccode\u003ea5ad922\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency commons-logging:commons-logging to v1.4.0 (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19030\"\u003e#19030\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/0fe64a2f6c5f0d1924b5e9b2b174858970d0efbf\"\u003e\u003ccode\u003e0fe64a2\u003c/code\u003e\u003c/a\u003e Run openserch asyn callbacks with parent context (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19027\"\u003e#19027\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/23da7602a2b7d95f9383f8ca241e088846d85f0e\"\u003e\u003ccode\u003e23da760\u003c/code\u003e\u003c/a\u003e Set request timeout only for the read timeout test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19025\"\u003e#19025\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/7698f71f67b5e7d0e52db6030ccb873550b39fdf\"\u003e\u003ccode\u003e7698f71\u003c/code\u003e\u003c/a\u003e Set query timeouts for camel cassandara test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19026\"\u003e#19026\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commit/6fd466c821b1c3d874a921a920310328d34601a7\"\u003e\u003ccode\u003e6fd466c\u003c/code\u003e\u003c/a\u003e Add another port wait for hadoop test (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/issues/19028\"\u003e#19028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/compare/v2.28.1...v2.29.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-test-junit` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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\"\u003eorg.jetbrains.kotlin:kotlin-test-junit'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/v2.3.21...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.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...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.jetbrains.kotlin.plugin.serialization` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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/v2.3.21...v2.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.kotest:kotest-assertions-core` from 6.1.11 to 6.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/kotest/kotest/releases\"\u003eio.kotest:kotest-assertions-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev6.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edocs: add KDoc to ArrayEq by \u003ca hre...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/regulus-maximus/pull/92","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fregulus-maximus/issues/92","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/92/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-22T08:11:42.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4714713379","node_id":"PR_kwDOJkmCj87pEYP_","number":567,"state":"closed","title":"Bump the libs group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-10T09:33:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T08:11:42.000Z","updated_at":"2026-07-10T09:33:55.000Z","time_to_close":1560132,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":18,"packages":[{"name":"gradle-wrapper","old_version":"9.2.1","new_version":"9.6.0","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlin:kotlin-bom","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.spring","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.21","new_version":"2.4.0","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-bom","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.jetbrains.kotlinx:kotlinx-serialization-bom","old_version":"1.9.0","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.serialization"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1-0.6.x-compat","new_version":"0.8.0-0.6.x-compat","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"io.arrow-kt:arrow-stack","old_version":"2.2.1.1","new_version":"2.2.3","repository_url":"https://github.com/arrow-kt/arrow"},{"name":"io.ktor:ktor-bom","old_version":"3.3.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.webjars:swagger-ui","old_version":"5.30.2","new_version":"5.32.6","repository_url":"https://github.com/swagger-api/swagger-ui"},{"name":"com.google.crypto.tink:tink","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"com.sksamuel.aedile:aedile-core","old_version":"2.1.2","new_version":"3.0.4","repository_url":"https://github.com/sksamuel/aedile"},{"name":"eu.europa.ec.eudi:etsi-1196x2-consultation","old_version":"0.3.0-alpha.4","new_version":"0.3.0-alpha.5","repository_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-etsi-1196x2"},{"name":"org.springframework.boot","old_version":"4.0.1","new_version":"4.1.0","repository_url":"https://github.com/spring-projects/spring-boot"},{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0"},{"name":"org.owasp.dependencycheck","old_version":"12.1.1","new_version":"12.2.2"},{"name":"org.jetbrains.kotlinx.kover","old_version":"0.9.4","new_version":"0.9.8","repository_url":"https://github.com/Kotlin/kotlinx-kover"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.2.1` | `9.6.0` |\n| [org.jetbrains.kotlin:kotlin-bom](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.spring](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.21` | `2.4.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-bom](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-serialization-bom](https://github.com/Kotlin/kotlinx.serialization) | `1.9.0` | `1.11.0` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1-0.6.x-compat` | `0.8.0-0.6.x-compat` |\n| [io.arrow-kt:arrow-stack](https://github.com/arrow-kt/arrow) | `2.2.1.1` | `2.2.3` |\n| [io.ktor:ktor-bom](https://github.com/ktorio/ktor) | `3.3.3` | `3.5.0` |\n| [org.webjars:swagger-ui](https://github.com/swagger-api/swagger-ui) | `5.30.2` | `5.32.6` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.21.0` | `1.22.0` |\n| [com.sksamuel.aedile:aedile-core](https://github.com/sksamuel/aedile) | `2.1.2` | `3.0.4` |\n| [eu.europa.ec.eudi:etsi-1196x2-consultation](https://github.com/eu-digital-identity-wallet/eudi-lib-kmp-etsi-1196x2) | `0.3.0-alpha.4` | `0.3.0-alpha.5` |\n| [org.springframework.boot](https://github.com/spring-projects/spring-boot) | `4.0.1` | `4.1.0` |\n| com.diffplug.spotless | `8.6.0` | `8.7.0` |\n| org.owasp.dependencycheck | `12.1.1` | `12.2.2` |\n| [org.jetbrains.kotlinx.kover](https://github.com/Kotlin/kotlinx-kover) | `0.9.4` | `0.9.8` |\n\n\nUpdates `gradle-wrapper` from 9.2.1 to 9.6.0\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.6.0\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.0.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.0/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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.0 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.0 \u0026amp;\u0026amp; ./gradlew :wrapper\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSee the Gradle \u003ca href=\"https://docs.gradle.org/9.6.0/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.6.0/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\u003ch2\u003e9.6.0 RC3\u003c/h2\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/3f750f03d77e42327c5f9fcb9992110088330a32\"\u003e\u003ccode\u003e3f750f0\u003c/code\u003e\u003c/a\u003e Update distro size for Gradle 9.6.0 release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38243\"\u003e#38243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/ae93cfa823470de24b8fd96ea04334f6affa1d96\"\u003e\u003ccode\u003eae93cfa\u003c/code\u003e\u003c/a\u003e update distro size\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f7e22b56a4f32c1b6d2e532a00ebe0e5a3394f4b\"\u003e\u003ccode\u003ef7e22b5\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38227\"\u003e#38227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/71a8eb9b7d7f41a90f82fd026fbc206c095c0e7f\"\u003e\u003ccode\u003e71a8eb9\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/70a87451716eb6d7d568ea00ad1824a4de70ab05\"\u003e\u003ccode\u003e70a8745\u003c/code\u003e\u003c/a\u003e Prepare release notes for Gradle 9.6.0RC3 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38220\"\u003e#38220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/970652223811ce4912808dedef77844f1a47bd95\"\u003e\u003ccode\u003e9706522\u003c/code\u003e\u003c/a\u003e some final polishing for release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af308ebf8d9d3d8ba75314f6a114150734409584\"\u003e\u003ccode\u003eaf308eb\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38214\"\u003e#38214\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/239361b0fb2351051782497389ff202816d8c65a\"\u003e\u003ccode\u003e239361b\u003c/code\u003e\u003c/a\u003e Restore GradleInternal.getRootProject overload for binary compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/896dc44a40e2008428f9fbb29faa92d6b7b8cac0\"\u003e\u003ccode\u003e896dc44\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38187\"\u003e#38187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2d4ec2521c8cbcaf50258cdab827756924f82b23\"\u003e\u003ccode\u003e2d4ec25\u003c/code\u003e\u003c/a\u003e Update Gradle wrapper to version 9.6.0-rc-2\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.2.1...v9.6.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-bom` from 2.3.21 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\"\u003eorg.jetbrains.kotlin:kotlin-bom'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\"\u003eorg.jetbrains.kotlin:kotlin-bom'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/v2.3.21...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.jetbrains.kotlin.jvm` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.jvm'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\"\u003eorg.jetbrains.kotlin.jvm'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/v2.3.21...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.jetbrains.kotlin.plugin.spring` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.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\"\u003eorg.jetbrains.kotlin.plugin.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/v2.3.21...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.jetbrains.kotlin.plugin.serialization` from 2.3.21 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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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\"\u003eorg.jetbrains.kotlin.plugin.serialization'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/v2.3.21...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.jetbrains.kotlinx:kotlinx-coroutines-bom` from 1.10.2 to 1.11.0\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-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.11.0\u003c/h2\u003e\n\u003ch3\u003eVarious\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eKotlin was updated to 2.2.20 (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4545\"\u003e#4545\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eImproved the published jar files (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/3842\"\u003e#3842\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4599\"\u003e#4599\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eVarious documentation improvements, including complete rewrites of structured concurrency and error handling-related KDoc (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4433\"\u003e#4433\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4596\"\u003e#4596\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBreaking changes and deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMoved \u003ccode\u003ePromise\u003c/code\u003e-related functions from JS and Wasm/JS to the new \u003ccode\u003eweb\u003c/code\u003e target. On Wasm/JS, this is a breaking change. Before the change, \u003ccode\u003ePromise\u003c/code\u003e on Wasm/JS could work with arbitrary Kotlin types, but now, only \u003ccode\u003eJsAny\u003c/code\u003e subtypes are accepted (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4563\"\u003e#4563\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eChanged handling of coroutine exceptions that can't be propagated on JS and Wasm/JS. B\nefore, exceptions were logged, but now, they are reported to the JS runtime (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4451\"\u003e#4451\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4631\"\u003e#4631\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eDeprecated using \u003ccode\u003eCoroutineDispatcher\u003c/code\u003e as the coroutine context key; now, \u003ccode\u003eContinuationInterceptor\u003c/code\u003e has to be used instead (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4333\"\u003e#4333\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdvanced the deprecation levels on \u003ccode\u003ekotlinx-coroutines-test\u003c/code\u003e APIs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4604\"\u003e#4604\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded lint functions that mark passing a \u003ccode\u003eJob\u003c/code\u003e to coroutine builders as deprecated (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4435\"\u003e#4435\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug fixes and improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003erunBlocking\u003c/code\u003e in code shared between JVM and Native (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4368\"\u003e#4368\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003ecallsInPlace(EXACTLY_ONCE)\u003c/code\u003e contract to \u003ccode\u003esuspendCancellableCoroutine\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4574\"\u003e#4574\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eflowOn\u003c/code\u003e incorrectly handling \u003ccode\u003eThreadContextElement\u003c/code\u003e updates (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4403\"\u003e#4403\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed exceptions in user-supplied \u003ccode\u003eThread.UncaughtExceptionHandler\u003c/code\u003e instances causing the internal coroutines machinery to fail (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4516\"\u003e#4516\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eCoroutineDispatcher.asScheduler\u003c/code\u003e in the RxJava integration not cancelling outstanding work when a \u003ccode\u003eWorker\u003c/code\u003e gets cancelled, which led to memory leaks in some scenarios (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4615\"\u003e#4615\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003eSharedFlow\u003c/code\u003e entering an invalid state when a subscriber and an emitter are cancelled simultaneously (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4583\"\u003e#4583\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFixed an R8 optimization leading to \u003ccode\u003eshareIn\u003c/code\u003e/\u003ccode\u003estateIn\u003c/code\u003e coroutines getting garbage-collected (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4646\"\u003e#4646\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/solevic\"\u003e\u003ccode\u003e@​solevic\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eSmall additions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded \u003ccode\u003eCompletableDeferred.asDeferred\u003c/code\u003e for obtaining a read-only \u003ccode\u003eDeferred\u003c/code\u003e view (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4408\"\u003e#4408\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSharedFlow.asFlow\u003c/code\u003e for obtaining a \u003ccode\u003eFlow\u003c/code\u003e view with hidden hot flow semantics (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4530\"\u003e#4530\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/g000sha256\"\u003e\u003ccode\u003e@​g000sha256\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateFlow.collectLatest\u003c/code\u003e overload returning \u003ccode\u003eNothing\u003c/code\u003e to assist with finding unreachable code (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4454\"\u003e#4454\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReceiveChannel.consumeTo\u003c/code\u003e for consuming a \u003ccode\u003eReceiveChannel\u003c/code\u003e into a \u003ccode\u003eMutableCollection\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4520\"\u003e#4520\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdded a \u003ccode\u003eStateF...\n\n_Description has been truncated_","html_url":"https://github.com/eu-digital-identity-wallet/eudi-srv-verifier-endpoint/pull/567","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-srv-verifier-endpoint/issues/567","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/567/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-22T04:26:49.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4713416884","node_id":"PR_kwDOIhBng87pAFuE","number":847,"state":"open","title":"deps(java): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","build_success","java"],"assignees":[],"locked":false,"comments_count":3,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-22T04:26:49.000Z","updated_at":"2026-06-22T04:29:01.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"deps(java)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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","html_url":"https://github.com/quotidian-ennui/tesla-powerwall-exporter/pull/847","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/quotidian-ennui%2Ftesla-powerwall-exporter/issues/847","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/847/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-22T03:42:19.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4713194311","node_id":"PR_kwDOBKOics7o_Wed","number":1718,"state":"closed","title":"Bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-07-06T03:42:42.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T03:42:19.000Z","updated_at":"2026-07-06T03:42:44.000Z","time_to_close":1209623,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/TulevaEE/onboarding-service/pull/1718","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/TulevaEE%2Fonboarding-service/issues/1718","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1718/packages"}},{"old_version":"6.25.0","new_version":"8.7.0","update_type":"major","path":null,"pr_created_at":"2026-06-22T01:52:33.000Z","version_change":"6.25.0 → 8.7.0","issue":{"uuid":"4712746054","node_id":"PR_kwDOKQhBbs7o97h-","number":171,"state":"closed","title":"Bump com.diffplug.spotless from 6.25.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-06T01:52:44.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-22T01:52:33.000Z","updated_at":"2026-07-06T01:52:45.000Z","time_to_close":1209611,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"6.25.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 6.25.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=6.25.0\u0026new-version=8.7.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/mkutz/untangle-your-spaghetti-test-code/pull/171","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkutz%2Funtangle-your-spaghetti-test-code/issues/171","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/171/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-21T03:42:08.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4709232062","node_id":"PR_kwDOL3gMyM7ozLtt","number":200,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-07-04T09:23:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-21T03:42:08.000Z","updated_at":"2026-07-04T09:23:53.000Z","time_to_close":1143704,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/LukasW01/mood/pull/200","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/LukasW01%2Fmood/issues/200","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/200/packages"}},{"old_version":"7.0.2","new_version":"8.8.0","update_type":"major","path":null,"pr_created_at":"2026-06-19T13:11:54.000Z","version_change":"7.0.2 → 8.8.0","issue":{"uuid":"4700968309","node_id":"PR_kwDOKU9USs7oYqve","number":553,"state":"open","title":"Bump the libs group across 1 directory with 9 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-06-19T13:11:54.000Z","updated_at":"2026-07-13T06:07:15.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"libs","update_count":9,"packages":[{"name":"gradle-wrapper","old_version":"8.14.4","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.37","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.google.crypto.tink:tink","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/tink-crypto/tink-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.83","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.seleniumhq.selenium:selenium-java","old_version":"4.44.0","new_version":"4.45.0","repository_url":"https://github.com/SeleniumHQ/selenium"},{"name":"org.owasp.dependencycheck","old_version":"12.2.0","new_version":"12.2.2"},{"name":"com.diffplug.spotless","old_version":"7.0.2","new_version":"8.8.0"},{"name":"com.vanniktech.maven.publish","old_version":"0.35.0","new_version":"0.37.0","repository_url":"https://github.com/vanniktech/gradle-maven-publish-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the libs group with 9 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `8.14.4` | `9.6.1` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.37` |\n| [com.google.crypto.tink:tink](https://github.com/tink-crypto/tink-java) | `1.21.0` | `1.22.0` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.83` | `1.84` |\n| [org.seleniumhq.selenium:selenium-java](https://github.com/SeleniumHQ/selenium) | `4.44.0` | `4.45.0` |\n| org.owasp.dependencycheck | `12.2.0` | `12.2.2` |\n| com.diffplug.spotless | `7.0.2` | `8.8.0` |\n| [com.vanniktech.maven.publish](https://github.com/vanniktech/gradle-maven-publish-plugin) | `0.35.0` | `0.37.0` |\n\n\nUpdates `gradle-wrapper` from 8.14.4 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v8.14.4...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jsoup:jsoup` from 1.22.1 to 1.22.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jhy/jsoup/releases\"\u003eorg.jsoup:jsoup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ejsoup Java HTML Parser release 1.22.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.2\u003c/strong\u003e is out now, with fixes and refinements across the library. It makes editing the DOM during traversal more predictable, refreshes the default HTML tag definitions with newer elements and better text boundaries, and improves reliability in parsing and HTTP transport. The release also fixes a number of edge cases in cleaning, stream parsing, XML doctype handling, and Android packaging.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup\u003c/strong\u003e is a Java library for working with real-world HTML and XML. It provides a very convenient API for extracting and manipulating data, using the best of HTML5 DOM methods and CSS selectors.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/jhy/jsoup/blob/HEAD/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch2\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eBuild Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003chr /\u003e\n\u003cp\u003eMy sincere thanks to everyone who contributed to this release!\nIf you have any suggestions for the next release, I would love to hear them; please get in touch via \u003ca href=\"https://github.com/jhy/jsoup/discussions\"\u003ejsoup discussions\u003c/a\u003e, or with me \u003ca href=\"https://jhedley.com/\"\u003edirectly\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eYou can also \u003c!-- raw HTML omitted --\u003efollow me\u003c!-- raw HTML omitted --\u003e (\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e@\u003ca href=\"mailto:jhy@tilde.zone\"\u003ejhy@tilde.zone\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e) on Mastodon / Fediverse to receive occasional notes about jsoup releases.\u003c/p\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/jhy/jsoup/blob/master/CHANGES.md\"\u003eorg.jsoup:jsoup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.22.2 (2026-Apr-20)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eExpanded and clarified \u003ccode\u003eNodeTraversor\u003c/code\u003e support for in-place DOM rewrites during \u003ccode\u003eNodeVisitor.head()\u003c/code\u003e. Current-node edits such as \u003ccode\u003eremove\u003c/code\u003e, \u003ccode\u003ereplace\u003c/code\u003e, and \u003ccode\u003eunwrap\u003c/code\u003e now recover more predictably, while traversal stays within the original root subtree. This makes single-pass tree cleanup and normalization visitors easier to write, for example when unwrapping presentational elements or replacing text nodes as you walk the DOM. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocumentation: clarified that a configured \u003ccode\u003eCleaner\u003c/code\u003e may be reused across concurrent threads, and that shared \u003ccode\u003eSafelist\u003c/code\u003e instances should not be mutated while in use. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2473\"\u003e#2473\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdated the default HTML \u003ccode\u003eTagSet\u003c/code\u003e for current HTML elements: added \u003ccode\u003edialog\u003c/code\u003e, \u003ccode\u003esearch\u003c/code\u003e, \u003ccode\u003epicture\u003c/code\u003e, and \u003ccode\u003eslot\u003c/code\u003e; made \u003ccode\u003eins\u003c/code\u003e, \u003ccode\u003edel\u003c/code\u003e, \u003ccode\u003ebutton\u003c/code\u003e, \u003ccode\u003eaudio\u003c/code\u003e, \u003ccode\u003evideo\u003c/code\u003e, and \u003ccode\u003ecanvas\u003c/code\u003e inline by default (\u003ccode\u003eTag#isInline()\u003c/code\u003e, aligned to phrasing content in the spec); and added readable \u003ccode\u003eElement.text()\u003c/code\u003e boundaries for controls and embedded objects via the new \u003ccode\u003eTag.TextBoundary\u003c/code\u003e option. This improves pretty-printing and keeps normalized text from running adjacent words together. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2493\"\u003e#2493\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid (R8/ProGuard): added a rule to ignore the optional \u003ccode\u003ere2j\u003c/code\u003e dependency when not present. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2459\"\u003e#2459\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFixed a \u003ccode\u003eNodeTraversor\u003c/code\u003e regression in 1.21.2 where removing or replacing the current node during \u003ccode\u003ehead()\u003c/code\u003e could revisit the replacement node and loop indefinitely. The traversal docs now also clarify which inserted nodes are visited in the current pass. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2472\"\u003e#2472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eParsing during charset sniffing no longer fails if an advisory \u003ccode\u003eavailable()\u003c/code\u003e call throws \u003ccode\u003eIOException\u003c/code\u003e, as seen on JDK 8 \u003ccode\u003eHttpURLConnection\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2474\"\u003e#2474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer makes relative URL attributes in the input document absolute when cleaning or validating a \u003ccode\u003eDocument\u003c/code\u003e. URL normalization now applies only to the cleaned output, and \u003ccode\u003eSafelist.isSafeAttribute()\u003c/code\u003e is side effect free. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2475\"\u003e#2475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eCleaner\u003c/code\u003e no longer duplicates enforced attributes when the input \u003ccode\u003eDocument\u003c/code\u003e preserves attribute case. A case-variant source attribute is now replaced by the enforced attribute in the cleaned output. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2476\"\u003e#2476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIf a per-request SOCKS proxy is configured, jsoup now avoids using the JDK \u003ccode\u003eHttpClient\u003c/code\u003e, because the JDK would silently ignore that proxy and attempt to connect directly. Those requests now fall back to the legacy \u003ccode\u003eHttpURLConnection\u003c/code\u003e transport instead, which does support SOCKS. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2468\"\u003e#2468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eConnection.Response.streamParser()\u003c/code\u003e and \u003ccode\u003eDataUtil.streamParser(Path, ...)\u003c/code\u003e could fail on small inputs without a declared charset, if the initial 5 KB charset sniff fully consumed the input and closed it before the stream parse began. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2483\"\u003e#2483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn XML mode, doctypes with an internal subset, such as \u003ccode\u003e\u0026lt;!DOCTYPE root [\u0026lt;!ENTITY name \u0026quot;value\u0026quot;\u0026gt;]\u0026gt;\u003c/code\u003e, now round-trip correctly. The subset is preserved as raw text only; entities are not expanded and external DTDs are not loaded. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2486\"\u003e#2486\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBuild Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eMigrated the integration test server from Jetty to Netty, which actively maintains support for our minimum JDK target (8). \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2491\"\u003e#2491\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/jhy/jsoup/commit/ac28afe6e5bf96d39fd17c3e0a797a7585e1958c\"\u003e\u003ccode\u003eac28afe\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jsoup-1.22.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/52f2cd3ea2004b9be0e0a09021bac7ce2daf8ae4\"\u003e\u003ccode\u003e52f2cd3\u003c/code\u003e\u003c/a\u003e Improve entity example in changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/cf6ffe08616f8633ee6113b91f9d6a07acef38c6\"\u003e\u003ccode\u003ecf6ffe0\u003c/code\u003e\u003c/a\u003e Add Tag#TextBoundary option; bring TagSet to spec (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2493\"\u003e#2493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/2be739c1c659a1592c402a5441f8be6f7881280c\"\u003e\u003ccode\u003e2be739c\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4 to 4.35.1 (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2492\"\u003e#2492\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/45de7cbc215eb3f1189d23eaf57acf6f7b1a5edf\"\u003e\u003ccode\u003e45de7cb\u003c/code\u003e\u003c/a\u003e Migrate integration test server from Jetty to Netty (\u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2491\"\u003e#2491\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/1df14edbfc327a1ef309142ef5e8ed68324de320\"\u003e\u003ccode\u003e1df14ed\u003c/code\u003e\u003c/a\u003e Preserve XML doctype internal subset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/06fa52d15a22003b67dfdb3f8220cc025d493a43\"\u003e\u003ccode\u003e06fa52d\u003c/code\u003e\u003c/a\u003e Adding Contribution Guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/d4a8941820c037327538c30a8723ec715b67b6f6\"\u003e\u003ccode\u003ed4a8941\u003c/code\u003e\u003c/a\u003e Simplify the test; doesn't need the buffer\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/823709f519995492d9a092fe315af389616e58f8\"\u003e\u003ccode\u003e823709f\u003c/code\u003e\u003c/a\u003e Don't reuse a fully read sniffed doc for StreamParser\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jhy/jsoup/commit/e1b0df5fec53710214cd700de38d82e1ca92bd79\"\u003e\u003ccode\u003ee1b0df5\u003c/code\u003e\u003c/a\u003e NodeFilter javadoc tweak\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jhy/jsoup/compare/jsoup-1.22.1...jsoup-1.22.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ch.qos.logback:logback-classic` from 1.5.32 to 1.5.37\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/qos-ch/logback/releases\"\u003ech.qos.logback:logback-classic's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eLogback 1.5.37\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-26 Release of logback version 1.5.37\u003c/strong\u003e\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e• Given the numerous vulnerabilities related to conditional configuration processing based on the evaluation of Java expressions using the Janino library, support for such expressions has been removed. Users are offered the an \u003ca href=\"https://logback.qos.ch/translator/services/conditionalConfigMigrator.html\"\u003eonline migration service\u003c/a\u003e or the \u003ccode\u003e\u0026lt;condition\u0026gt;\u003c/code\u003e element introduced in version 1.5.20. See the \u003ca href=\"https://logback.qos.ch/manual/configuration.html#conditional\"\u003erelevant documentation\u003c/a\u003e for more details.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit c1df7f522e648eec7b4ef6a12c8758fec0f00048 associated with the tag v_1.5.37. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.36\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-25 Release of logback version 1.5.36\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now reject certain references that are associated with ACE attacks. This issue was reported by \u0026quot;yulate\u0026quot; (\u003ca href=\"mailto:yulate531@gmail.com.com\"\u003eyulate531@gmail.com.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e. \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 9b94c37562bf25a6a944146701d42ee6c4eee888 associated with the tag v_1.5.36. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.35\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e026-06-23 Release of logback version 1.5.35\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• The 'condition' attribute in \u003ccode\u003e\u0026lt;if\u0026gt;\u003c/code\u003e elements now rejects unicode escape sequences (\\u and \\U). This closes a bypass of the existing prohibition on the new operator in Janino-evaluated conditions. This issue was reported by IcySun (\u003ca href=\"mailto:icysun@qq.com\"\u003eicysun@qq.com\u003c/a\u003e) and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-13006\"\u003eCVE-2026-13006\u003c/a\u003e.  \u003cstrong\u003ePlease note that version 1.5.37 provides the full fix to this vulnerability.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• Added \u003ccode\u003eConfiguratorRank.AUTHENTICATING\u003c/code\u003e (rank 100), the highest configurator rank, for certified/authenticating configurators discovered via the ServiceLoader mechanism. \u003ccode\u003eContextInitializer\u003c/code\u003e now requires that at most one such configurator exist on the classpath; if more than one is found, initialization aborts with an error.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eConsoleCharsetPropertyDefiner\u003c/code\u003e is no longer shipped. The Java 21 multi-release compilation of logback-core has been disabled, which removes this class from the published artifact. Configurations that referenced \u003ccode\u003ech.qos.logback.core.property.ConsoleCharsetPropertyDefiner\u003c/code\u003e will need an alternative approach for console charset detection.\u003c/p\u003e\n\u003cp\u003e• The logback-examples module is now included in artifacts published to Maven Central.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eJoranConfigurator.makeAnotherInstance()\u003c/code\u003e and \u003ccode\u003eDefaultJoranConfigurator.performMultiStepConfigurationFileSearch()\u003c/code\u003e are now protected, allowing derived configurators to override these methods.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit 08bd1598d565d83444f72983935e7da4746783b7 associated with the tag v_1.5.35. Release built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.34\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-06-01 Release of logback version 1.5.34\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• In case certain StackTraceElement values returned by the Throwable.getStackTrace method are null, StackTraceElementProxy substitutes a dummy instance instead of throwing an IllegalArgumentException. This resolves [issues \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003e#1040\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1040\"\u003eqos-ch/logback#1040\u003c/a\u003e), reported by Naotsugu Kobayashi.\u003c/p\u003e\n\u003cp\u003e• HardenedObjectInputStream will now throw an InvalidClassException during deserialization attempts of Proxy classes. This change addresses potential deserialization whitelist bypass vulnerability reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-10532\"\u003eCVE-2026-10532\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• A bitwise identical binary of this version can be reproduced by building from source code at commit e62272ac152469aec1ede056c3c7d0d7314e7bfe associated with the tag v_1.5.34. This release was built using Java \u0026quot;21\u0026quot; 2023-10-17 LTS build 21.0.1.+12-LTS-29 under Linux Debian 11.6.\u003c/p\u003e\n\u003ch2\u003eLogback 1.5.33\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-05-27 Release of logback version 1.5.33\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003ePropertiesConfiguratorModelHandler\u003c/code\u003e now registers properties file URLs to the \u003ccode\u003eConfigurationWatchList\u003c/code\u003e when scan is enabled (via local scan=\u0026quot;true\u0026quot; attribute or top-level configuration scan), ensuring changes are detected and reconfiguration occurs. This problem was reported in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1034\"\u003eissues/1034\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• When processing \u003ccode\u003e\u0026lt;conversionRule\u0026gt;\u003c/code\u003e elements and both \u003ccode\u003eclass\u003c/code\u003e and \u003ccode\u003econverterClass\u003c/code\u003e attributes are specified, silently use the class attribute without issuing a warning. However, if the attribute values differ, a warning will be issued. This change was requested in \u003ca href=\"https://redirect.github.com/qos-ch/logback/issues/1031\"\u003eissues/1031\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• \u003ccode\u003eHardenedModelInputStream\u003c/code\u003e will no longer accept to deserialize all classes located under the \u0026quot;java.lang\u0026quot; and \u0026quot;java.util\u0026quot; packages but a limited number of explicitly authorized classes in those packages. This potential deserialization whitelist bypass vulnerability was reported by \u003ca href=\"https://github.com/york-shen\"\u003eYork Shen\u003c/a\u003e and registered as \u003ca href=\"https://www.cve.org/cverecord?id=CVE-2026-9828\"\u003eCVE-2026-9828\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e• SSL parameters for \u003ccode\u003eSSLSocketAppender\u003c/code\u003e now enable hostname verification by default. Moreover, the default protocol is now \u0026quot;TLSv1.2\u0026quot;. This potential vulnerability was reported by York Shen.\u003c/p\u003e\n\u003cp\u003e• When printing the status message field, \u003ccode\u003eViewStatusMessagesServletBase\u003c/code\u003e now escapes special characters such as \u0026quot;\u0026amp;\u0026quot; as character entities. This potential vulnerability was reported by York Shen.\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/qos-ch/logback/commit/c1df7f522e648eec7b4ef6a12c8758fec0f00048\"\u003e\u003ccode\u003ec1df7f5\u003c/code\u003e\u003c/a\u003e prepare release 1.5.37\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/a1899674579c67711a4fff6bdc569f4bfb25ead5\"\u003e\u003ccode\u003ea189967\u003c/code\u003e\u003c/a\u003e remove conditional based on janino\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/aaa905292dc24235a0cd7514c4815d0eeb6c0446\"\u003e\u003ccode\u003eaaa9052\u003c/code\u003e\u003c/a\u003e start work on 1.5.37-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/9b94c37562bf25a6a944146701d42ee6c4eee888\"\u003e\u003ccode\u003e9b94c37\u003c/code\u003e\u003c/a\u003e prepare release 1.5.36\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/e6a8280ba2c61a448226bccbced70444aaa6e7eb\"\u003e\u003ccode\u003ee6a8280\u003c/code\u003e\u003c/a\u003e prevent attacks using disallowed references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/24c4b63f60e5bbfa591c20cf39f2ce50ff8cff4f\"\u003e\u003ccode\u003e24c4b63\u003c/code\u003e\u003c/a\u003e start work on 1.5.36-SNAPSHOT\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/08bd1598d565d83444f72983935e7da4746783b7\"\u003e\u003ccode\u003e08bd159\u003c/code\u003e\u003c/a\u003e preapre release 1.5.35\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/37d256b825fc62b4a3908fa29d8b4e34acf79ed0\"\u003e\u003ccode\u003e37d256b\u003c/code\u003e\u003c/a\u003e indentation changes only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/d3d73078afbb0691423f60a066d77503fdf05fc3\"\u003e\u003ccode\u003ed3d7307\u003c/code\u003e\u003c/a\u003e minor comment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/qos-ch/logback/commit/fa0411a9393282ba69396ce65f122d281c079ac0\"\u003e\u003ccode\u003efa0411a\u003c/code\u003e\u003c/a\u003e radomize file location\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/qos-ch/logback/compare/v_1.5.32...v_1.5.37\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.google.crypto.tink:tink` from 1.21.0 to 1.22.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.22.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.22.0\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe complete list of changes since 1.21.0 can be found \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.21.0...v1.22.0\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn \u003ccode\u003eMutableKeyDerivationRegistry\u003c/code\u003e, key derivation no longer occurs within a synchronized block.\u003c/li\u003e\n\u003cli\u003eMaven signatures are now more usual ASCII-armored GPG signatures instead of binary signatures.\u003c/li\u003e\n\u003cli\u003eAdded predefined signature parameters for \u003ccode\u003eSLH-DSA\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eML-DSA-44\u003c/code\u003e signature primitive and PEM import.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eSignatureJwkSetConverter\u003c/code\u003e, which is a utility library that converts signature public keys from and to a JWK set.\u003c/li\u003e\n\u003cli\u003eTink now correctly contains \u003ccode\u003eclass\u003c/code\u003e files which target Java Version 11 (major version 55). Tink requires Java 11 since Tink 1.19: \u003ca href=\"https://github.com/tink-crypto/tink-java/releases/tag/v1.19.0\"\u003ehttps://github.com/tink-crypto/tink-java/releases/tag/v1.19.0\u003c/a\u003e. See also \u003ca href=\"https://redirect.github.com/tink-crypto/tink-java/issues/68\"\u003etink-crypto/tink-java#68\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eStop running tests on API 23, in preparation for increasing Tink's minSdkVersion to 24 in line with androidx. See \u003ca href=\"https://issuetracker.google.com/issues/474169350\"\u003ehttps://issuetracker.google.com/issues/474169350\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded more no-prefix variants to predefined MAC and Signature parameters.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eMaven:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003e\u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.crypto.tink\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;tink\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.22.0\u0026lt;/version\u0026gt;\r\n\u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003eGradle:\u003c/h3\u003e\n\u003cpre\u003e\u003ccode\u003edependencies {\r\n  implementation 'com.google.crypto.tink:tink-android:1.22.0'\r\n}\r\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;)\r\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.22.0\u0026quot;,\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\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/tink-crypto/tink-java/commit/7305a6a66d63eebb5ae34238fcc7783d3eeae90b\"\u003e\u003ccode\u003e7305a6a\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003etink-java\u003c/code\u003e version to \u003ccode\u003e1.22.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/148b67b5a5dfc389e9be55745c04f1f062fe23b1\"\u003e\u003ccode\u003e148b67b\u003c/code\u003e\u003c/a\u003e Add XWing HPKE to HpkePrivateKeyManager.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/d574ca6a2327c2221a382ca4cd5c548840128979\"\u003e\u003ccode\u003ed574ca6\u003c/code\u003e\u003c/a\u003e Change ProtoKeySerializer to take ProtoParametersSerialization instead of Bytes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/1b3d38a0e6577da5d52eac64a4b3c50b4b0ce1f5\"\u003e\u003ccode\u003e1b3d38a\u003c/code\u003e\u003c/a\u003e Change Configuration.get to getOrNull.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/33139529c15d175fa4e98e06296124f7cdff8fcb\"\u003e\u003ccode\u003e3313952\u003c/code\u003e\u003c/a\u003e Cleanups.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/dcd184e0b6c41d9999153bad8f5fbf189f77e799\"\u003e\u003ccode\u003edcd184e\u003c/code\u003e\u003c/a\u003e Move the class ProtoParametersSerialization from internal to Tink's public API.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/e77c6eab09fbcf1071e6e686e50eb141933b77db\"\u003e\u003ccode\u003ee77c6ea\u003c/code\u003e\u003c/a\u003e Use the RegistryConfig instead of MutableSerializationRegistry to parse/seria...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/f77832408001990a03a66469155b57758f7743d4\"\u003e\u003ccode\u003ef778324\u003c/code\u003e\u003c/a\u003e Use Parsing with Fallback in the RegistryConfiguration.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/61a8d22cc04034c6573d5d56cd1e6c8ce7b1e0cd\"\u003e\u003ccode\u003e61a8d22\u003c/code\u003e\u003c/a\u003e Also register a parameters serializer for LegacyProtoParameters in the Mutabl...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tink-crypto/tink-java/commit/0ed08224643d3138223a57193d6c191810d99913\"\u003e\u003ccode\u003e0ed0822\u003c/code\u003e\u003c/a\u003e Remove Serialization.java.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tink-crypto/tink-java/compare/v1.21.0...v1.22.0\"\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.83 to 1.84\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\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 `org.seleniumhq.selenium:selenium-java` from 4.44.0 to 4.45.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/SeleniumHQ/selenium/releases\"\u003eorg.seleniumhq.selenium:selenium-java's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eSelenium 4.45.0\u003c/h2\u003e\n\u003ch2\u003eDetailed Changelogs by Component\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/java/CHANGELOG\"\u003eJava\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES\"\u003ePython\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/dotnet/CHANGELOG\"\u003eDotNet\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES\"\u003eRuby\u003c/a\u003e\u003c/strong\u003e     |    \u003c!-- raw HTML omitted --\u003e \u003cstrong\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/blob/trunk/javascript/selenium-webdriver/CHANGES.md\"\u003eJavaScript\u003c/a\u003e\u003c/strong\u003e\n\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e[build] derive PR diff base from HEAD^1 instead of trunk tip by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17438\"\u003eSeleniumHQ/selenium#17438\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] setup trusted publishing from Github to npmrc by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17445\"\u003eSeleniumHQ/selenium#17445\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] generate release notes from previous minor release tag by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17449\"\u003eSeleniumHQ/selenium#17449\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] fix when to update lock files during the release process by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17450\"\u003eSeleniumHQ/selenium#17450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[java] remove deprecated logging classes by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17453\"\u003eSeleniumHQ/selenium#17453\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[grid] Close pre-handshake race in WebSocket proxy by \u003ca href=\"https://github.com/shs96c\"\u003e\u003ccode\u003e@​shs96c\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17435\"\u003eSeleniumHQ/selenium#17435\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[JavaScript] Correct handling for older browsers and missing casing by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17451\"\u003eSeleniumHQ/selenium#17451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse pyproject for Python runtime deps lock input by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17452\"\u003eSeleniumHQ/selenium#17452\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] deprecate curb http client support by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17443\"\u003eSeleniumHQ/selenium#17443\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[javascript] Migrate find-elements atom from Closure to TypeScript by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17458\"\u003eSeleniumHQ/selenium#17458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[py] replace rules_python sphinxdocs with local sphinx_docs rule by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17461\"\u003eSeleniumHQ/selenium#17461\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] Configure Renovate dashboard approval by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17464\"\u003eSeleniumHQ/selenium#17464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update vulnerable dependency with a range by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17466\"\u003eSeleniumHQ/selenium#17466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] remove duplicated grid ui tests by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17468\"\u003eSeleniumHQ/selenium#17468\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update java graphpql dependency by filtering out bad reference by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17469\"\u003eSeleniumHQ/selenium#17469\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] upgrade to steep 2.0 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17470\"\u003eSeleniumHQ/selenium#17470\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17472\"\u003eSeleniumHQ/selenium#17472\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update GitHub Actions to latest major versions by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17475\"\u003eSeleniumHQ/selenium#17475\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] update dev dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17474\"\u003eSeleniumHQ/selenium#17474\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] fix template caching by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17476\"\u003eSeleniumHQ/selenium#17476\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] update system.text.json to 8.0.6 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17477\"\u003eSeleniumHQ/selenium#17477\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update dev dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17479\"\u003eSeleniumHQ/selenium#17479\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] upgrade paket from v9 to v10 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17481\"\u003eSeleniumHQ/selenium#17481\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump bazel version to 9.1 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17480\"\u003eSeleniumHQ/selenium#17480\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update zip to v8 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17485\"\u003eSeleniumHQ/selenium#17485\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] update eslint to v10 with fixes by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17482\"\u003eSeleniumHQ/selenium#17482\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rb] Update ruby to 3.3.9 by \u003ca href=\"https://github.com/aguspe\"\u003e\u003ccode\u003e@​aguspe\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17484\"\u003eSeleniumHQ/selenium#17484\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] include snupkg files when packaging things up and allow the use of sourcelink by \u003ca href=\"https://github.com/AutomatedTester\"\u003e\u003ccode\u003e@​AutomatedTester\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17467\"\u003eSeleniumHQ/selenium#17467\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] update download-artifact to v8 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17493\"\u003eSeleniumHQ/selenium#17493\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] run format against slnx instead of looping csproj by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17483\"\u003eSeleniumHQ/selenium#17483\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump low-risk Bazel module dependencies by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17494\"\u003eSeleniumHQ/selenium#17494\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[rust] update reqwest to 0.13 by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17488\"\u003eSeleniumHQ/selenium#17488\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [build] Fix remote linkage in SourceLink by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17495\"\u003eSeleniumHQ/selenium#17495\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] remove renovate update requests pending work done in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17427\"\u003e#17427\u003c/a\u003e by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17498\"\u003eSeleniumHQ/selenium#17498\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[dotnet] [build] Support deterministic build output by \u003ca href=\"https://github.com/nvborisenko\"\u003e\u003ccode\u003e@​nvborisenko\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17497\"\u003eSeleniumHQ/selenium#17497\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump ruby versions to latest patch releases by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17496\"\u003eSeleniumHQ/selenium#17496\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[js] remove npm dependency by using bazel for everything by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17499\"\u003eSeleniumHQ/selenium#17499\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump rules_jvm_external by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17501\"\u003eSeleniumHQ/selenium#17501\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] bump rules_closure version by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17500\"\u003eSeleniumHQ/selenium#17500\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[build] clarify dependency pin and update tasks by \u003ca href=\"https://github.com/titusfortner\"\u003e\u003ccode\u003e@​titusfortner\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/pull/17463\"\u003eSeleniumHQ/selenium#17463\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/SeleniumHQ/selenium/commit/cd6a3cdfca6970f62e5bc8344109d0fe0e2af05e\"\u003e\u003ccode\u003ecd6a3cd\u003c/code\u003e\u003c/a\u003e [build] Prepare for release of selenium-4.45.0 (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17680\"\u003e#17680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/15fad06cba4d0eb577bf3891954ecaf81e9a11d8\"\u003e\u003ccode\u003e15fad06\u003c/code\u003e\u003c/a\u003e [build] Automated Browser Version Update (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17679\"\u003e#17679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/cb9b6fdbabdc1ed68a8bdbf31a4222c0396fe2fd\"\u003e\u003ccode\u003ecb9b6fd\u003c/code\u003e\u003c/a\u003e [grid] Add support Redis-backed for SessionQueue (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17678\"\u003e#17678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/18bb1d97d3db196522aa9b3873a350dc40d3ccb8\"\u003e\u003ccode\u003e18bb1d9\u003c/code\u003e\u003c/a\u003e [py] terminate driver service process when start() fails to connect (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17651\"\u003e#17651\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/b3164ef7d071b5add6750d686ffbae1b936cadf0\"\u003e\u003ccode\u003eb3164ef\u003c/code\u003e\u003c/a\u003e [grid] add HtmlUnit browser logo to Grid UI (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17656\"\u003e#17656\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/bb741bd07b1c5e36054328627903b4507eaca9f5\"\u003e\u003ccode\u003ebb741bd\u003c/code\u003e\u003c/a\u003e [build] Automated Browser Version Update (\u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17658\"\u003e#17658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/887237c468022cb5e4637aa98404fac2de0c8d23\"\u003e\u003ccode\u003e887237c\u003c/code\u003e\u003c/a\u003e [py] translate continue_request/continue_response kwargs to BiDi wire format ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/f53de51c263c5ab0e598253a46286777a794ede0\"\u003e\u003ccode\u003ef53de51\u003c/code\u003e\u003c/a\u003e [rb] run minimize test on linux now that \u003ca href=\"https://redirect.github.com/SeleniumHQ/selenium/issues/17644\"\u003e#17644\u003c/a\u003e fixed fluxbox startup\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/3f37cce5cd7be6500ba90f44c994e140e27e3108\"\u003e\u003ccode\u003e3f37cce\u003c/code\u003e\u003c/a\u003e [rb] set window state before each window test instead of resetting driver\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/SeleniumHQ/selenium/commit/2bfb9904f65649d7bcb6b4a678ac37c9909d2d22\"\u003e\u003ccode\u003e2bfb990\u003c/code\u003e\u003c/a\u003e [rb] skip Safari double_click action tests\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/SeleniumHQ/selenium/compare/selenium-4.44.0...selenium-4.45.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.owasp.dependencycheck` from 12.2.0 to 12.2.2\n\nUpdates `com.diffplug.spotless` from 7.0.2 to 8.8.0\n\nUpdates `com.vanniktech.maven.publish` from 0.35.0 to 0.37.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases\"\u003ecom.vanniktech.maven.publish's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.37.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.37.0-rc1\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.36.0\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING\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\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/blob/main/CHANGELOG.md\"\u003ecom.vanniktech.maven.publish's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.37.0\"\u003e0.37.0\u003c/a\u003e \u003cem\u003e(2026-06-21)\u003c/em\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWhen publishing to Maven Central, redundant checksum files are now excluded by default: checksums of \u003ccode\u003e.asc\u003c/code\u003e\nsignature files (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/20232\"\u003egradle/gradle#20232\u003c/a\u003e) and the \u003ccode\u003esha256\u003c/code\u003e/\u003ccode\u003esha512\u003c/code\u003e\nchecksums, which are never read by Gradle or Maven Central. The published checksums can be configured through\n\u003ccode\u003echecksums(...)\u003c/code\u003e in the DSL or the \u003ccode\u003emavenCentralChecksums\u003c/code\u003e Gradle property (default \u003ccode\u003emd5,sha1\u003c/code\u003e). Signature checksum\nexclusion can be controlled through \u003ccode\u003eexcludeSignatureChecksums()\u003c/code\u003e or the \u003ccode\u003emavenCentralExcludeSignatureChecksums\u003c/code\u003e\nGradle property.\u003c/li\u003e\n\u003cli\u003eMaven Central deployment id is being logged after upload.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eMinimum supported versions\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 17\u003c/li\u003e\n\u003cli\u003eGradle 9.0.0\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 8.13.0\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.2.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eCompatibility tested up to\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eJDK 26\u003c/li\u003e\n\u003cli\u003eGradle 9.6.0\u003c/li\u003e\n\u003cli\u003eGradle 9.7.0-milestone-1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.2.1\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.3.0-rc01\u003c/li\u003e\n\u003cli\u003eAndroid Gradle Plugin 9.4.0-alpha01\u003c/li\u003e\n\u003cli\u003eKotlin Gradle Plugin 2.4.0\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/releases/tag/0.36.0\"\u003e0.36.0\u003c/a\u003e \u003cem\u003e(2026-01-13)\u003c/em\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eBREAKING\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated minimum supported JDK, Gradle, Android Gradle Plugin and Kotlin versions.\u003c/li\u003e\n\u003cli\u003eRemoved support for Dokka v1, it's now required to use Dokka in v2 mode.\u003c/li\u003e\n\u003cli\u003eMark \u003ccode\u003eDirectorySignatureType\u003c/code\u003e internal.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eBehavior changes\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003evalidateDeployment\u003c/code\u003e now has the \u003ccode\u003eDeploymentValidation\u003c/code\u003e enum as type instead of being a boolean. The default\nis now to just wait for the \u003ccode\u003eVALIDATED\u003c/code\u003e state. The previous behavior can be achieved by setting it to \u003ccode\u003ePUBLISHED\u003c/code\u003e.\n\u003ccode\u003eNONE\u003c/code\u003e can be used for disabling the validation completely.\u003c/li\u003e\n\u003cli\u003eWhen calling \u003ccode\u003econfigure(...)\u003c/code\u003e manually to configure what to publish and not passing \u003ccode\u003ejavadocJar\u003c/code\u003e explicity,\nthe plugin now defaults to publishing an empty javadoc jar.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAndroid projects now support using Dokka for javadoc creation, this will happen automatically\nwhen using the default options and the Dokka plugin is applied to the project.\u003c/li\u003e\n\u003cli\u003eAdded consistent \u003ccode\u003eJavadocJar\u003c/code\u003e and \u003ccode\u003eSourcesJar\u003c/code\u003e options to \u003ccode\u003econfigureBasedOnAppliedPlugins\u003c/code\u003e and to all\napplicable project types that can be passed to \u003ccode\u003econfigure\u003c/code\u003e. The previous \u003ccode\u003eBoolean\u003c/code\u003e based versions have\nbeen deprecated.\u003c/li\u003e\n\u003cli\u003eWhen enabling Maven Central publishing through the DSL, the \u003ccode\u003emavenCentralDeploymentValidation\u003c/code\u003e and\n\u003ccode\u003emavenCentralAutomaticPublishing\u003c/code\u003e are used for the default values of the 2 parameters when they are not passed\nexplicitly. This allows to more easily override them in certain environments.\u003c/li\u003e\n\u003cli\u003eWhen isolated projects is enabled the module/project specific \u003ccode\u003egradle.properties\u003c/code\u003e files are now considered in\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/vanniktech/gradle-maven-publish-plugin/commit/7017e3d3d1e8c2df57db1e9a216997e46a3b7e88\"\u003e\u003ccode\u003e7017e3d\u003c/code\u003e\u003c/a\u003e enable feature preview (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1381\"\u003e#1381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/05f6b6ece1702385b06a08b4f47d436464d07a80\"\u003e\u003ccode\u003e05f6b6e\u003c/code\u003e\u003c/a\u003e use 0.37.0-rc1 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1380\"\u003e#1380\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/0167c9cc7b34e3e7a0bab5aaa84b756ad26e858a\"\u003e\u003ccode\u003e0167c9c\u003c/code\u003e\u003c/a\u003e Changelog for 0.37.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1379\"\u003e#1379\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/b652eb33024e38ca7a0512027693c5b605a5f065\"\u003e\u003ccode\u003eb652eb3\u003c/code\u003e\u003c/a\u003e Update dependency java to v26 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1353\"\u003e#1353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/a9f70b326d86e8279a82c1cfc9e1a7cd9e576bc6\"\u003e\u003ccode\u003ea9f70b3\u003c/code\u003e\u003c/a\u003e Update dependency com.freeletics.gradle:scripts-formatting-jvm to v0.37.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/541cf8fd793977822656ce79b92664f120dac6d1\"\u003e\u003ccode\u003e541cf8f\u003c/code\u003e\u003c/a\u003e Log deployment id and publishing type after Central Portal upload (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1354\"\u003e#1354\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/d4873e5589c313ebc76eccb090067ad4e966fee9\"\u003e\u003ccode\u003ed4873e5\u003c/code\u003e\u003c/a\u003e Update slf4j monorepo to v2 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1365\"\u003e#1365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/42baf9d49fcfe5c7d1a6382cd6576bd48810cf9a\"\u003e\u003ccode\u003e42baf9d\u003c/code\u003e\u003c/a\u003e Update android.gradle (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1335\"\u003e#1335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/2de1978ae4c76ec6d458302cd21cab6294b6f438\"\u003e\u003ccode\u003e2de1978\u003c/code\u003e\u003c/a\u003e Update Gradle (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1362\"\u003e#1362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/commit/6f03e462646d34bc7df82bede4de92a7676c4932\"\u003e\u003ccode\u003e6f03e46\u003c/code\u003e\u003c/a\u003e Update kotlin monorepo to v2.4.0 (\u003ca href=\"https://redirect.github.com/vanniktech/gradle-maven-publish-plugin/issues/1352\"\u003e#1352\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/vanniktech/gradle-maven-publish-plugin/compare/0.35.0...0.37.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e","html_url":"https://github.com/eu-digital-identity-wallet/eudi-lib-jvm-openid4vci-kt/pull/553","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/eu-digital-identity-wallet%2Feudi-lib-jvm-openid4vci-kt/issues/553","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/553/packages"}},{"old_version":"8.4.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-19T02:04:35.000Z","version_change":"8.4.0 → 8.7.0","issue":{"uuid":"4697316547","node_id":"PR_kwDOQ3eI_s7oMk5w","number":17,"state":"open","title":"Bump com.diffplug.spotless from 8.4.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":8,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-19T02:04:35.000Z","updated_at":"2026-06-19T08:29:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.4.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.4.0\u0026new-version=8.7.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\n\n\u003c!-- This is an auto-generated comment: release notes by coderabbit.ai --\u003e\n## Summary by CodeRabbit\n\n* **Chores**\n  * Updated a build tool formatting dependency to a newer version for improved development stability.\n\u003c!-- end of auto-generated comment: release notes by coderabbit.ai --\u003e","html_url":"https://github.com/frc2204/frc-2026/pull/17","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/frc2204%2Ffrc-2026/issues/17","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/17/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-17T03:02:23.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4679623412","node_id":"PR_kwDOC4qIR87nSM0R","number":341,"state":"closed","title":"Bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-20T23:16:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-17T03:02:23.000Z","updated_at":"2026-06-20T23:16:30.000Z","time_to_close":332046,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/pyamsoft/cachify/pull/341","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyamsoft%2Fcachify/issues/341","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/341/packages"}},{"old_version":"7.2.1","new_version":"8.7.0","update_type":"major","path":null,"pr_created_at":"2026-06-17T00:33:05.000Z","version_change":"7.2.1 → 8.7.0","issue":{"uuid":"4678949836","node_id":"PR_kwDOO5Lg0M7nQAvo","number":76,"state":"closed","title":"Bump com.diffplug.spotless from 7.2.1 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-30T00:32:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-17T00:33:05.000Z","updated_at":"2026-06-30T00:32:55.000Z","time_to_close":1123188,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"com.diffplug.spotless","old_version":"7.2.1","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 7.2.1 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=7.2.1\u0026new-version=8.7.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/RyuNen344/wiremock-gradle-sample/pull/76","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyuNen344%2Fwiremock-gradle-sample/issues/76","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/76/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-16T22:52:35.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4678498188","node_id":"PR_kwDOAleJ8s7nOila","number":506,"state":"closed","title":"build(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["kruton"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-06-29T22:52:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T22:52:35.000Z","updated_at":"2026-06-29T22:53:35.000Z","time_to_close":1123199,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/connectbot/trilead-ssh2/pull/506","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/connectbot%2Ftrilead-ssh2/issues/506","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/506/packages"}},{"old_version":"8.6.0","new_version":"8.7.0","update_type":"minor","path":null,"pr_created_at":"2026-06-16T14:55:46.000Z","version_change":"8.6.0 → 8.7.0","issue":{"uuid":"4675353871","node_id":"PR_kwDOPI7PPs7nEHu5","number":109,"state":"closed","title":"gradle(deps): bump com.diffplug.spotless from 8.6.0 to 8.7.0","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":["qwertycxz"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-19T15:50:25.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-16T14:55:46.000Z","updated_at":"2026-06-19T15:50:26.000Z","time_to_close":262479,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"gradle(deps)","packages":[{"name":"com.diffplug.spotless","old_version":"8.6.0","new_version":"8.7.0","repository_url":null}],"path":null,"ecosystem":"maven"},"body":"Bumps com.diffplug.spotless from 8.6.0 to 8.7.0.\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless\u0026package-manager=gradle\u0026previous-version=8.6.0\u0026new-version=8.7.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/qwertycxz/MetadataWildcard4fabric-permissions-api/pull/109","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/qwertycxz%2FMetadataWildcard4fabric-permissions-api/issues/109","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/109/packages"}},{"old_version":"8.4.0","new_version":"8.8.0","update_type":"minor","path":null,"pr_created_at":"2026-06-15T09:42:51.000Z","version_change":"8.4.0 → 8.8.0","issue":{"uuid":"4663881053","node_id":"PR_kwDOORt7pM7mePW7","number":123,"state":"open","title":"build(deps): bump the java-other group across 1 directory with 6 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":17,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-15T09:42:51.000Z","updated_at":"2026-07-01T01:42:22.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"build(deps): bump","group_name":"java-other","update_count":6,"packages":[{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.8.0"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.3","repository_url":"https://github.com/GradleUp/shadow"},{"name":"org.apache.logging.log4j:log4j-bom","old_version":"2.25.4","new_version":"2.26.0","repository_url":"https://github.com/apache/logging-log4j2"},{"name":"software.amazon.awssdk:bom","old_version":"2.42.41","new_version":"2.46.19"},{"name":"com.squareup.okhttp3:okhttp","old_version":"5.3.2","new_version":"5.4.0","repository_url":"https://github.com/square/okhttp"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.6.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the java-other group with 6 updates in the /java directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| com.diffplug.spotless | `8.4.0` | `8.8.0` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.3` |\n| [org.apache.logging.log4j:log4j-bom](https://github.com/apache/logging-log4j2) | `2.25.4` | `2.26.0` |\n| software.amazon.awssdk:bom | `2.42.41` | `2.46.19` |\n| [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) | `5.3.2` | `5.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.6.1` |\n\n\nUpdates `com.diffplug.spotless` from 8.4.0 to 8.8.0\n\nUpdates `com.gradleup.shadow` from 9.4.1 to 9.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GradleUp/shadow/releases\"\u003ecom.gradleup.shadow's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.4.3\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate dependencies for resolving CVEs. (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/pull/2069\"\u003e#2069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e9.4.2\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate jdependency to support Java 27. (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/pull/2033\"\u003e#2033\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/GradleUp/shadow/commit/44c6ce102da4c5defc20e42117e28cf2013e2579\"\u003e\u003ccode\u003e44c6ce1\u003c/code\u003e\u003c/a\u003e Prepare version 9.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/ba5e0de00cd7203d11ed4b0be8159bbf0c841fe1\"\u003e\u003ccode\u003eba5e0de\u003c/code\u003e\u003c/a\u003e Fix conflicts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/cd13ac5f398d4c7fb8218f60deccbdae2f7087c6\"\u003e\u003ccode\u003ecd13ac5\u003c/code\u003e\u003c/a\u003e Minor cleanups\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/298cd8a8286db2c2ac325ed493a4269d0b57c744\"\u003e\u003ccode\u003e298cd8a\u003c/code\u003e\u003c/a\u003e Update dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/29c432a7b6824b6fef23d46dc067e5c14112ff90\"\u003e\u003ccode\u003e29c432a\u003c/code\u003e\u003c/a\u003e Prepare version 9.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/GradleUp/shadow/commit/8aa8e6c1fb2ac0c17f0ff77e521cbe599cf64245\"\u003e\u003ccode\u003e8aa8e6c\u003c/code\u003e\u003c/a\u003e Update dependency org.vafer:jdependency to v2.16 (\u003ca href=\"https://redirect.github.com/GradleUp/shadow/issues/2033\"\u003e#2033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GradleUp/shadow/compare/9.4.1...9.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.logging.log4j:log4j-bom` from 2.25.4 to 2.26.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/logging-log4j2/releases\"\u003eorg.apache.logging.log4j:log4j-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.26.0\u003c/h2\u003e\n\u003cp\u003eThis minor release delivers all the fixes in the \u003ccode\u003e[2.25.0, 2.25.4]\u003c/code\u003e version range, plus some new fixes, and several other improvements and features.\u003c/p\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eConfigurationFactory::getConfiguration\u003c/code\u003e method accepting multiple \u003ccode\u003eURI\u003c/code\u003es (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3775\"\u003e#3775\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3921\"\u003e#3921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd and export \u003ccode\u003eorg.apache.logging.log4j.core.pattern.NamedInstantPattern\u003c/code\u003e enabling users to programmatically access named date \u0026amp; time patterns supported by Pattern Layout (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3789\"\u003e#3789\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elog4j.plugin.processor.minAllowedMessageKind\u003c/code\u003e annotation processor option to \u003ccode\u003ePluginProcessor\u003c/code\u003e to filter diagnostic messages by severity. This allows builds that treat compiler notes as errors (e.g. Maven with \u003ccode\u003e-Werror\u003c/code\u003e) to suppress informational notes emitted during normal plugin processing. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/discussions/3380%5B#3380%5D(https://redirect.github.com/apache/logging-log4j2/issues/3380)\"\u003eapache/logging-log4j2#3380\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4063\"\u003e#4063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing setters to \u003ccode\u003eRfc5424LayoutBuilder\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEnsure scripts in the global \u003ccode\u003eScripts\u003c/code\u003e element have explicit names by throwing a \u003ccode\u003eConfigurationException\u003c/code\u003e for unnamed ones. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3176\"\u003e#3176\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSimplify file manager registry factory methods (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecated withers in builder classes in favor of setters. This change improves API consistency with Log4j Core 3 and helps users adapt to the upcoming changes. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3750\"\u003e#3750\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix script resolution failure when the \u003ccode\u003eScripts\u003c/code\u003e element is placed after a \u003ccode\u003eScriptRef\u003c/code\u003e in the configuration. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3336\"\u003e#3336\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eArrayIndexOutOfBoundsException\u003c/code\u003e thrown by \u003ccode\u003eThrowableStackTraceRenderer\u003c/code\u003e when the stack trace is modified concurrently (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3940\"\u003e#3940\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3955\"\u003e#3955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eSLF4JLogger.atFatal()\u003c/code\u003e returning \u003ccode\u003eatLevel(Level.TRACE)\u003c/code\u003e instead of \u003ccode\u003eatLevel(Level.FATAL)\u003c/code\u003e. This was causing \u003ccode\u003eFATAL\u003c/code\u003e-level log events to be silently discarded when using the fluent API through the \u003ccode\u003elog4j-to-slf4j\u003c/code\u003e bridge. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4068\"\u003e#4068\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4089\"\u003e#4089\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Javadoc references across module boundaries (i.e., cross-references) (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4099\"\u003e#4099\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4100\"\u003e#4100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix header write in \u003ccode\u003eRollingRandomAccessFileManager\u003c/code\u003e that was being incorrectly skipped if \u003ccode\u003eappend=true\u003c/code\u003e and the file didn't exist before\u003c/li\u003e\n\u003cli\u003eFix a properties file configuration regression caused by not referenced loggers, appenders, and filters (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4036\"\u003e#4036\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4069\"\u003e#4069\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eRemoved\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove the \u003ccode\u003ejvmrunargs\u003c/code\u003e lookup. (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3874\"\u003e#3874\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eUpdated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.junit:junit-bom\u003c/code\u003e to version \u003ccode\u003e5.13.4\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3850\"\u003e#3850\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.mongodb:bson\u003c/code\u003e to version \u003ccode\u003e5.6.1\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003eorg.xerial.snappy:snappy-java\u003c/code\u003e to version \u003ccode\u003e1.1.10.8\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/3841\"\u003e#3841\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/apache/logging-log4j2/commit/c1ad2a66cc90e643ec319b9e131764c9710bebc5\"\u003e\u003ccode\u003ec1ad2a6\u003c/code\u003e\u003c/a\u003e Update the \u003ccode\u003eproject.build.outputTimestamp\u003c/code\u003e property\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/8b3a7990421ec5cff2a44914c07d0676067c31ad\"\u003e\u003ccode\u003e8b3a799\u003c/code\u003e\u003c/a\u003e Set version to \u003ccode\u003e2.26.0\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/96486ebb8a2176f7bd14c797b334da84d90e801b\"\u003e\u003ccode\u003e96486eb\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/2.x' into release/2.26.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/82432570e8bb9a67c32de51dc63ebcfcec939818\"\u003e\u003ccode\u003e8243257\u003c/code\u003e\u003c/a\u003e Add documentation for \u003ccode\u003eMessageRewritePolicy\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/2a15414e839fea3f3ba61cc7403dd8e4130a15cf\"\u003e\u003ccode\u003e2a15414\u003c/code\u003e\u003c/a\u003e Add documentation pointer to the Async HTTP Appender of \u003ccode\u003emore-log4j2\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4062\"\u003e#4062\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/b178cb1f926b3db43c65e69e9b7be7b76431f824\"\u003e\u003ccode\u003eb178cb1\u003c/code\u003e\u003c/a\u003e Switch CI to \u003ccode\u003egha/v0\u003c/code\u003e and remove Develocity (\u003ca href=\"https://redirect.github.com/apache/logging-log4j2/issues/4108\"\u003e#4108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/23321deb0e1e1509ac16c5453653c86c1a4d5867\"\u003e\u003ccode\u003e23321de\u003c/code\u003e\u003c/a\u003e Remove changelog entries for already released changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/def55fcf441b2a9ec2e6454e8fa8e1053d7d59ba\"\u003e\u003ccode\u003edef55fc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003e.release.xml\u003c/code\u003e and \u003ccode\u003e.release-notes.adoc.ftl\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/0e019f23b001219fd32c78397224b134fa41e431\"\u003e\u003ccode\u003e0e019f2\u003c/code\u003e\u003c/a\u003e Move changelog entries\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/logging-log4j2/commit/a487a5d029697fc0b276a20c4277b24bf1f66b50\"\u003e\u003ccode\u003ea487a5d\u003c/code\u003e\u003c/a\u003e Tidy up changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/logging-log4j2/compare/rel/2.25.4...rel/2.26.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `software.amazon.awssdk:bom` from 2.42.41 to 2.46.19\n\nUpdates `com.squareup.okhttp3:okhttp` from 5.3.2 to 5.4.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/square/okhttp/blob/master/CHANGELOG.md\"\u003ecom.squareup.okhttp3:okhttp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 5.4.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2026-06-08\u003c/em\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew: Add superpowers to interceptors. Interceptors can now override anything settable on\n\u003ccode\u003eOkHttpClient.Builder\u003c/code\u003e, such as the cache, connection pool, socket factory, and DNS. We expect\nthis will allow most users to use interceptors everywhere, insted of mixing and matching\ninterceptors with custom \u003ccode\u003eCall.Factory\u003c/code\u003e wrappers.\u003c/li\u003e\n\u003cli\u003eFix: Limit each HTTP/2 response to 256 KiB of total headers.\u003c/li\u003e\n\u003cli\u003eUpgrade: [kotlinx.coroutines 1.11.0][coroutines_1_11_0]. This is used by the optional\n\u003ccode\u003eokhttp-coroutines\u003c/code\u003e artifact.\u003c/li\u003e\n\u003cli\u003eUpgrade: [GraalVM 25.0.3][graalvm_25].\u003c/li\u003e\n\u003cli\u003eUpgrade: [Okio 3.17.0][okio_3_17_0].\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/square/okhttp/commit/61423f472da24e0ccc42b6a2c0863fb27932fea5\"\u003e\u003ccode\u003e61423f4\u003c/code\u003e\u003c/a\u003e Prepare for release 5.4.0.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/d7e6effcb6852ca848b5f497032546b98b0a6370\"\u003e\u003ccode\u003ed7e6eff\u003c/code\u003e\u003c/a\u003e Update eclipse.osgi to v3.24.200 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9480\"\u003e#9480\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7a350986e3231a7b81cbfcc6e3c185327033422b\"\u003e\u003ccode\u003e7a35098\u003c/code\u003e\u003c/a\u003e Update bnd to v7.3.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9475\"\u003e#9475\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/0c5a45b1174b8f735cc251eb19faaed87b65d868\"\u003e\u003ccode\u003e0c5a45b\u003c/code\u003e\u003c/a\u003e Update dependency com.puppycrawl.tools:checkstyle to v13.5.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9468\"\u003e#9468\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/113ad17f70af6984a1a8b4d46024118e5409c44b\"\u003e\u003ccode\u003e113ad17\u003c/code\u003e\u003c/a\u003e Update dependency macos to v26 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9457\"\u003e#9457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/84f601af03d047eef3f4b2f0ca6b6f72303dcea1\"\u003e\u003ccode\u003e84f601a\u003c/code\u003e\u003c/a\u003e Update shadow.plugin to v9.4.2 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9466\"\u003e#9466\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/7d463f4bcfca91e4466037f2c65c7c700545d64c\"\u003e\u003ccode\u003e7d463f4\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9464\"\u003e#9464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/3bf00f52921a0727bd18997cd92112dd2e582ed7\"\u003e\u003ccode\u003e3bf00f5\u003c/code\u003e\u003c/a\u003e Update plugin com.diffplug.spotless to v8.6.0 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9463\"\u003e#9463\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/cfc45a3f146d2389797a3d51d405e9118bed56c9\"\u003e\u003ccode\u003ecfc45a3\u003c/code\u003e\u003c/a\u003e Update spotless.plugin to v8.5.1 (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9456\"\u003e#9456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/square/okhttp/commit/81c5006e336c1cb67870694e38707e2c1c44fb34\"\u003e\u003ccode\u003e81c5006\u003c/code\u003e\u003c/a\u003e Apply gradle lint correctly (\u003ca href=\"https://redirect.github.com/square/okhttp/issues/9459\"\u003e#9459\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/square/okhttp/compare/parent-5.3.2...parent-5.4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.6.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.6.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.6.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImproved Configuration Cache hit rates\u003c/li\u003e\n\u003cli\u003eAdditional CLI rendering options\u003c/li\u003e\n\u003cli\u003eImportant project hierarchy lookup deprecations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.6.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/Ahar28\"\u003eAharnish Solanki\u003c/a\u003e,\n\u003ca href=\"https://github.com/benediktjohannes\"\u003eBenedikt Johannes\u003c/a\u003e,\n\u003ca href=\"https://github.com/devareddy05\"\u003eDevendra Reddy Pennabadi\u003c/a\u003e,\n\u003ca href=\"https://github.com/smplio\"\u003eDmytro Rodionov\u003c/a\u003e,\n\u003ca href=\"https://github.com/Dreeam-qwq\"\u003eDreeam\u003c/a\u003e,\n\u003ca href=\"https://github.com/EliasHdzR\"\u003eElías Hernández Rodríguez\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/FinlayRJW\"\u003eFinlayRJW\u003c/a\u003e,\n\u003ca href=\"https://github.com/kamalkansal27\"\u003eKamal Kansal\u003c/a\u003e,\n\u003ca href=\"https://github.com/Marcono1234\"\u003eMarcono1234\u003c/a\u003e,\n\u003ca href=\"https://github.com/runningcode\"\u003eNelson Osacky\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/rkdfx\"\u003eRavi\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/rschmitt\"\u003eRyan Schmitt\u003c/a\u003e,\n\u003ca href=\"https://github.com/sschuberth\"\u003eSebastian Schuberth\u003c/a\u003e,\n\u003ca href=\"https://github.com/seung-hun-h\"\u003eseunghun.ham\u003c/a\u003e,\n\u003ca href=\"https://github.com/sk-reddy17\"\u003esk-reddy17\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/VedantMadane\"\u003eVedant Madane\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.6.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew :wrapper --gradle-version=9.6.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.6.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.6.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\u003ch2\u003e9.6.0\u003c/h2\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/309d128bd9fe8c0b71311878fc660b9cbaa07c51\"\u003e\u003ccode\u003e309d128\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38328\"\u003e#38328\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/040a978e74ceefbd408bd832fca23e1462fb34b7\"\u003e\u003ccode\u003e040a978\u003c/code\u003e\u003c/a\u003e Update fixed issues in release notes for 9.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e0b8325523e3ae1e93fe81da595a1fb1b66a6cce\"\u003e\u003ccode\u003ee0b8325\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38\"\u003e#38\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/946f3e637ce0d8042a22a8096b9837a69607382e\"\u003e\u003ccode\u003e946f3e6\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38300\"\u003e#38300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/65f82246193da1bd8c7a087712c3c376aab1dd82\"\u003e\u003ccode\u003e65f8224\u003c/code\u003e\u003c/a\u003e Restore --non-interactive flag instead of --interactive/--no-interactive\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/e346a5ec9d5bbdb5a2478118651d22c19b121f39\"\u003e\u003ccode\u003ee346a5e\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38301\"\u003e#38301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/9b53be9a1271e12ac5186f7148c5a15b85f1f1d6\"\u003e\u003ccode\u003e9b53be9\u003c/code\u003e\u003c/a\u003e Adjust CLI flag to configure non-interactive console\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/0dd3b53bec1c03db4bb20b7cb401c948123c5db4\"\u003e\u003ccode\u003e0dd3b53\u003c/code\u003e\u003c/a\u003e Limit explicit temp file permission setting to intended use case\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/48e5ac210190a0e3a33083404eea77e4dbdf8918\"\u003e\u003ccode\u003e48e5ac2\u003c/code\u003e\u003c/a\u003e Add reproducers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/25598fd75cffa8034af51d399e2b4bf03ba4c7ab\"\u003e\u003ccode\u003e25598fd\u003c/code\u003e\u003c/a\u003e Prepare 9.6.1 patch release (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/38293\"\u003e#38293\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.6.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n","html_url":"https://github.com/sevincit/opentelemetry-lambda/pull/123","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/sevincit%2Fopentelemetry-lambda/issues/123","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/123/packages"}}]}